Clean up debug string functions in OS_HLE.

 * Use GetString instead of GetPointer.
 * Use C++ strings instead of char* pointer math.
ControllerConfigDiag: Potentially fix scaling problems on high DPI

Fixes issue 7940 hopefully.
GLX: try to get an OpenGL 3.3 core context
VideoCommon: Make GPU syncing hack optional

This hack is there for quite a long time, and lots of games crashes if it's disabled.
But it's still a hack, so it shouldn't be enabled hard coded. This commit create a new
ini option for this hack which is enabled by default.
Maybe some games does still run very fine without this hack.
FramebufferManager: Support stereoscopic EFB format changes.
PixelShaderCache: Support stereoscopic EFB format changes.
Only use bounds check for DVDLowUnencryptedRead
Check if there is a disc for all disc reads
Mark cover as open when no disc is inserted
FramebufferManager: Use a separate layer variable.
Cosmetics.
Always read 0x20 bytes of disc ID
Merge branch 'VR-Hydra' of https://github.com/cegli/dolphin into VR-Hydra
Merge pull request #1748 from Armada651/stereo-format

FramebufferManager: Support stereoscopic EFB format changes.
Slight Metroid Prime 1 improvements.
Merge branch 'VR-Hydra' of https://github.com/cegli/dolphin into VR-Hydra
Merge branch 'master' of https://github.com/dolphin-emu/dolphin into VR-Hydra

Conflicts:
	Source/Core/VideoBackends/D3D/Render.cpp
FramebufferManager: Copy all EFB layers to the XFB framebuffer.
OGL: Support stereoscopic XFB blit to screen.
FramebufferManagerBase: Only allocate one layer for Real XFB.