SyncRenderer: Support D3DFullscreen switching.
VideoRenderers: Check pointer for GetFullscreen() functions.
MainFrm: Make sure the right fullscreen function is called.
MainFrm: Make the D3DFS behaviour consistent with normal FS when pressing ESC.
VMR9: Add support for changing the video window during playback.
VideoRenderers: Add interface to set and query D3DFullscreen mode.
MainFrm: Make use of the new ID3DFullscreenControl interface and add support for VMR9 in ToggleD3DFullscreen().
COuterVMR9: Make the type for the presenter more specific.
VideoRenderers: Outer renderers should query their presenter for interfaces too.
VideoRenderers: Set m_bPendingResetDevice flag before resetting the device after a video window switch.
MainFrm: Move D3DFS display mode switching to ToggleD3DFullscreen().

Also use the normal way of determining the frame rate instead of using the method based on MediaInfo.
AppSettings: Only return true for IsD3DFullscreen() if it is actually supported.
MainFrm: Remove renderer check which is now always redundant.
MainFrm: Fix starting in fullscreen when D3DFullscreen is enabled.
MainFrm: Hide the cursor when starting in remembered fullscreen for consistency.
MainFrm: Remember last fullscreen state when using D3DFullscreen.
CVMROSD: Fix OSD message not being removed after switching the video window.
CVMROSD: Get the lock before changing the video window.
Remove madVR D3DFullscreen support, it isn't useful.

Exclusive mode is handled internally in the renderer.
AppSettings: Disabled D3DFullscreen hotkey by default.

Now that users can switch between windowed and D3DFullscreen during playback a toggle hotkey doesn't have to be provided by default anymore.
MainFrm: Use CAMMsgEvent to prevent deadlocks.

D3DFullscreen now works with the GraphThread active.