Fix an Exit Game widget crash.

Delay calling Pi::EndGame() until it's safe to do so by adding a bool and RequestEndGame method.

Prior to this the call to EndGame was destroying the UI which was calling the function which destroyed the UI!

I don't know how we got away with this working.