A spot of refactoring: GameState, KeyListeners

Moved the concept of gamestate from game to UI (where it's actually used)

Moved anonymous restart keylistener listener into proper GameKeyListener
class

Made listeners adapters so they don't have unnecessary method stubs
Added start menu