Game class

This is a larger merge, but it lays the groundwork for performing actions in the game, which will be handled in future branches.

I'll make issues for things that need to be done, but make sure there are no glaring problems with this merge.