Removed Launcher, encapsulated Game

Game no longer knows or cares what kind of container it is in. Whatever
creates it is expected to supply the Game with a ContextManager that
will allow an interface with the outside world. This allows the removal
of the Launcher class, so now Game has a main method that makes a Game
with the DefaultContextManager, which uses a JFrame.

Objects belonging to Game have also had 'static' removed, and now they
can be accessed using a static Game reference contained in the Game
class. This allows for multiple games to exist at the same time. It's a
flawed system and I'll have to work on it some more, but that's what
I've got so far. Spritesheet is still static because sprites should be
shared across any Game instances.
Added textures and function controllers

A texture is an image that is repeated to fill an area. Right now only
AABBs are supported for texturing. There's an offset vector that changes
the location of the texture on the object it's being drawn on.  There's
some kind of problem with alpha values but I'll solve that later.

Function controllers are used to perform an action when a button is
pressed, and wait before doing it again.