Highscores, refactoring and gameOver state.

- Player Score is submitted to highscore list at the end of the game.
- Highscore list is shown to the player at the end of the game.
- Shuffled buildFromXML() function so that part of it is inherited from
the parent state allowing additions to only be made in one place.
- Added a gameOver state for when the player finishes the game that
shows the total score and returns to the menu.