Clean up debug string functions in OS_HLE.

 * Use GetString instead of GetPointer.
 * Use C++ strings instead of char* pointer math.
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.
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
Always read 0x20 bytes of disc ID
FramebufferManager: Copy all EFB layers to the XFB framebuffer.
OGL: Support stereoscopic XFB blit to screen.
FramebufferManagerBase: Only allocate one layer for Real XFB.
GeometryShaderCache: Cosmetics.
FramebufferManager: Copy all EFB layers to the XFB.
D3D: Support stereoscopic XFB blit to screen.
VideoConfig: Turn off stereoscopy when Real XFB is enabled.
D3D: Remove obsolete Real XFB codepath.
FramebufferManager: Return framebuffer target size in GetTargetSize().
FramebufferManagerBase: Remove obsolete parameters.
Renderer: Use old method of calculating the source rectangle.
XFBEncoder: Sample the first layer of the resolved EFB texture.

Using the multisampled EFB texture is invalid, as the XFB encoder does not have a multisampling shader.
Merge pull request #1740 from Armada651/stereo-xfb

Support stereoscopy with Virtual XFB