Improving the code of the GP end Cutscenes

My plan was to add a button where you can save a random GP if you liked playing it, but I finally took the redundant code from the two possible GP end scenes and gave it to a new base class. I also removed many unnecessary lines and added a deactivated save button which wouldn't do anything. I'll finish the button in another pull request.
It's placed it in the else part because I don't want the player to be confused with having a "challenge complete" and a "save GP" Button. The check is performed in saveGPButton():
```
void GrandPrixCutscene::saveGPButton()
{
    if (race_manager->getGrandPrix().getId() != "random")
        getWidget<Button>("save")->setVisible(false);
}   // saveGPButton
```