Refactor RectPrism code, general improvements

Changed the code so that one of the boxes floats off the ground (proving
that objects can be completely separated without breaking the rendering
code). I also compartmentalized all the RectPrism code (as all shapes
will be someday) for better code completion.

There might also be  a bit of code relating to animation in there. I was
working on moving boxes around but haven't finished it yet.