VideoConfig: Add "Borderless Fullscreen" option.

This option will disable exclusive fullscreen for users who prefer the old behaviour.
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.
FrameTools: Exit fullscreen before confirming to exit.

Confirm to exit pauses the renderer, which prevent the renderer being able to fully exit fullscreen.
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.