Offer user quick restart if settings change

Ever been annoyed by those settings in the menu that require a restart? Well I haven't fixed those. But I have added a little dialog to save you some time! That's almost as good right?

![Restart Now?](http://imgur.com/HQJr5fT.png)

Hit the button and the game will be loading again within a second or two.

Doesn't check for mouse-lock in anticipation of #5597 landing.


We will need to sort out how these .NET 4 language features should fit into the project code style. I like the idea of using named parameters when the purpose of an arg isn't clear from the method name (i.e. `Game.Exit(restart: false)`), but that makes these otherwise simple calls quite (too?) verbose.