Refactored game.c

Put GameState and GameStateDiff in separate files
Separated game_init into game_init game_start and game_next_frame
Added tests