Allow the user to switch between D3DFullscreen and windowed mode during playback.

This allows D3DFullscreen to exit like regular fullscreen.
VMROSD: Update the OSD bitmap after setting a new video window.
MainFrm: Stop the hide cursor timer when exiting D3DFullscreen.
MainFrm: Call ToggleD3DFullscreen() from OnViewFullscreen() when it is enabled.
MainFrm: Correct some fullscreen checks to support D3DFullscreen.
MainFrm: Only start in D3DFullscreen if it is indicated by the launch in fullscreen flag.
MainFrm: Corrected checks that should only return true if D3DFullscreen is actually active.
EVR-CP: Get the locks before changing the video window.
MainFrm: Maximize D3DFullscreen if it is minimized when MPC-HC gets focus.
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.