Big metavoxel update: removed unused pieces, converted heightfields to "spanners" in order to allow arbitrary transforms, switched to 16 bit heightfields with lossless compression, some rendering improvements.

I don't understand the HeightfieldBaseBatch class...

(1) It's odd to see the pattern:  **ClassBaseName** derive from **ClassName**.  I take it you're using a different meaning of "Base" than "Base class vs Derived class".  Perhaps the "Base" applies to the "Heightfield", as in "HeightfieldFoundationBatch"?

(2) The derived class redeclares all of the data members in the base class.  I think maybe this is valid C++ but creates overridden data members such that BaseClass::foo is distinct from DerivedClass::foo similar to how there can be overloaded methods.  Is this the true intent?  If so maybe there should be a comment saying something to the effect: "Yes, really want to do this".