Sparse Chunk Storage

We've got a system set up now so we can store the chunks in a hash table. This, along with a lot of other modifications, allows us to add chunks easily while maintaining a quick look up of the chunk from it's position information. Also we've added the ability to raycast "into" the rooms so it's easier to edit

Voxel Engine Demo 4: Dynamic/Updating Objects and Special Collision Shapes

I've started doing the work to add voxels that can allocate and store information for themselves. I've also added support for voxels that have different sorts of collision geometry. Right now we only support Axis-Aligned Bounding Boxes for collision. You can also define custom geometry for each voxel that can be either static and placed in chunk buffer, or dynamic and get generated every frame. The lighting still works like before but the new blocks and shapes have not been implemented correctly. There are also still some bugs and weird behavior with the collision system.