MainFrm: Don't start in fullscreen if 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.
MainFrm: Consistently use IsD3DFullScreenMode() to check if D3DFullscreen is active.

This is more consistent and allows us to easily change the conditions in a central location.
MainFrm: Remove redundant OSD message hiding.

This is already done in OnResetDevice().
SyncRenderer: Add support for ID3DFullscreenControl interface.
Call ToggleD3DFullscreen from GraphThread if it is active.

This prevents the MainThread from manipulating the fullscreen window which it does not own.
MainFrm: Compare the window handles instead of the memory locations.

This fixes mouse hiding and seeking when the window is owned by the GraphThread.
Semi-automatically updated resource files to reflect the changes.
MainFrm: Fix strange D3DFullscreen focus behaviour when always on top is enabled.
Updated changelog
Exit fullscreen if focus is changed to a window on the same monitor even with multi-monitor setups.

This commit reverts 7e22ddca36d0556f8ef30cc8cae1aab40b746cba.
VideoRenderers: Use a focus window in D3DFullscreen.

Also, don't allow D3D to change the window style. This fixes the loss of focus when D3DFullscreen is active.
FullscreenWnd: Send thumb mouse buttons to MainFrm.
MainFrm: Exit D3DFullscreen at the end of playback if enabled in the options.