Support external compression library within PolyVox.
PolyVox currently includes basic Run Length Encoding compression which I implemented, and which is primarily used to compress blocks in the LargeVolume after they haven't been touched for a while. It could also have applications to serialising data to disk.
I have no significant experience with compression algorithms and so it is likely that an external library would provide a better performance and compression ratio (particularly with smooth terrain where RLE won't be very effective). Two candidates have been identified so far:
http://code.google.com/p/miniz/ - This one is desirable due to it's public domain license. We can just drop the code into PolyVox.
http://code.google.com/p/lz4/ - This one is probably the best performer, but we should think whether the license (New BSD) has any implications.
Such a library would be an external dependency in PolyVox, but it would be shipped as part of the PolyVox source tree so users would never know about it (this is why the licensing matters). It may be desirable to abstract the exact algorithm being used so that custom compressors can be plugged in if desired.