Splitting out the GeoBundle class into UnpackedShape and UnpackedShapeManager.

This is the beginning of a bigger refactor where will have a concept of
packed and unpacked shapes. Packed shapes are like the parameters which specify how a shape looks.
Unpacked shapes represent the actual vertices and vertex indices of the shape, ready
for uploading to the gpu.  This is similar to packed and unpacked textures or buffers.