- moved display logic into their own module for less cluttering
- made abstractions for the display process
so it can be owned by the game manager
and game may be played without displays.
- separated the main game management from the game struct
makes it easier to clone games and play few turns on the fly.