Lot of refactoring
- Changed the way to handle screens, now Game maintains screens
- Screens are not always destroyed after end of game etc.
- Added a new screen for end of game
- Changed many of <<knows/use>> private fields to final