added gamestate

The gamestate record will be use to keep track of the various elements
of gamestate throughout the application. this will help make recursion
easier on the main game loop and the player turn loop