This would allow simple blocks to be animated by extension of the current block model system. Essentially, this would change block model loading to split up rendering into both the current rendering system, and a TESR hook to be called by a mod's TESR.
All of the examples are partial implementations of what an engine renderer looks like (copied mostly from buildcraft, but ignoring the different types and stages).
The first changed part would be the block state loading, which would have an additional "variables" object (containing a list of the variables used and their default values). In each of the variants an additional "animated" tag would determine whether it should render via a TESR (and get the values for the variables on each frame) or in nortmal block rendering (getting the values from the defaults given above).
// Insert engine_blockstate.json
The second change would be to the model loading system, which would have to be changed to allow for expressions in place of both the positions and UV coordinates.
// Insert engine_model.json
The final addition would be a hooking class to allow any TESR object to get the animated section, change the variables, and render off the animated model.
// Insert EngineRenderTESR
I am going to make a pull request for this, however I would like to check to see what the current direction forge is going in terms of block rendering, and whether I should wait for forge for 1.8.8 to start implementing it.
A seperate (but related) suggestion is a way to get an entire model from a location and render it off inside both a TESR and a custom block model (so, provide a way to get the list of the block models, and apply arbitary rotation to all of them). However I have not tried (very hard) to find this, so you can probably ignore this.
Also if this is NOT wanted in forge it would be great to know quickly, so I can implement this now for BuildCraft, rather than waiting for a "no".