code style conventions, hooray
GameMode, a way to put different modes in a game

A mode should be any thing that would have different game play. This
could be overworld, battle, conversation, etc. If we wanted, it could
even be something like specific overworld tile, specific indoor area,
specific battle, specific conversation, etc. It should be reasonable to
have modes only managed by other modes, if applicable.

The Game object will probably only tie different parts together (though
it could make sense to give it a "select saved game" sort of thing), and
take care of saving, window changes, exiting the game, etc.

I put all of the test stuff (and then some) in a mode, to show how modes
work and to make sure that they do. Information can be shared between
modes and the main game with a shared dictionary; modes should only use
this for things they want to share, and should keep it clean.