VMROSD: Allow the seekbar to be hidden and the video window to be changed after the OSD has started.

This is done in preperation of D3DFullscreen switching.
Allow the user to switch between D3DFullscreen and windowed mode on the fly.

This allows D3DFullscreen to exit like regular fullscreen.
Make it crash less.

Time to refactor the code to take into account that the application can exit D3D fullscreen.
SetVideoWindow shouldn't reset the device, let SetFullscreen do it instead.
Improve D3DFullscreenToggle enable code
VMROSD: Update the OSD bitmap after setting a new video window.
Show the cursor when exiting D3DFullscreen
Implement all fullscreen hotkeys
Move reset device request back to SetVideoWindow and remove useless call