(finally) Moved to Component Based Architecture

Rather than using a monolithic game class which contains all behavior
and functionality, the game is now merely a list of game objects, each
with their own "components" that cause different behaviors.
Note that some of the previous example material will be missing until
the next commit.