Let the Renderer decide when to exit fullscreen.

This ensures the transition from/to exclusive mode happens while the RenderFrame is fullscreen.

This prevents fullscreen loops and relieves us of having to restore the window size after we exit fullscreen.
Renderer: Remove redundant state check.
Enable the 3D Vision hack and improve the documentation of it.

It shouldn't cause any more issues now that exclusive fullscreen is properly supported.
Exit exclusive fullscreen when the stop confirmation is shown.

Also have the renderer remember its own fullscreen state. This is done to prevent a case where we exit exclusive fullscreen through the configuration and a focus shift at the same time. In this case the renderer would fail to detect that the fullscreen state was changed.