voxel: Extend Region API

Add expand(), getChunkIds() and equality comparison
Implement simple chunked world with uniform chunk grid and update throttling
Refactor ChunkedWorld a bit, re-enable MC mesher
voxel: Optimize Box storage for empty boxes

Lazily allocate box storage on write (massive memory savings, moderate performance savings for reading empty chunks)
voxel: Introduce add/subtract/paint tools

The implementation is the same as it used to be, refactored into a templated function