Redo bounding volume code.

I think this is a better design. I still haven't dealt with the primary collision detection algorithms, but I don't believe that it will be too difficult. There are three cases
that we need to handle, and all of them have available literature:

- OBB and Oriented Ellipse
- OBB and OBB
- Oriented Ellipse and Oriented Ellipse
Remove dependency on deprecated PGM library.

While we're at it, I also changed the depth map outputter to do the autoleveling
of the intensity values. This way we don't have to convert it every time we want
to see what's going on. I think this is an improvement, but obviously we still need
to figure out how to only produce this output on request and not every time we run
the examples...
Remove the versioning restriction on GLFW.
Refactor the transform module