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
Add OBB OBB collision
Fix warning about binding shadows
Merge branch 'master' into GameState
New game state idea

Split the game state from the wires. Each frame, a game state is generated from the wires
and this state is then passed as a reader monad during the next frame. We also changed
game objects to be a transform along with a set of components. The currently available
components are a render object and a bounding volume. Eventually we would like the components
to be user-defined, but this probably isn't too much of a problem.

Also, there's a bit too much logic in UI/Lambency.hs... this should probably change.