Block removal, ContactListener, and TextureManager

Added a way to remove blocks when the ball collides with them.
Added a ContactListener that handles the collision decisions for the
world.
Added a TextureManager to handle the creation, reference, and disposal
of game textures.
Added a WorldManager to control world update calls and to queue
destroyBody() when a body is to be removed from the world.

Renamed State enum to ApplicationState so it doesn’t clash with the
State system State class. Changed Game extension back to
ApplicationListener since we handle our own screens and don’t need the
extra Game class utility.