OGL: Stereoscopic 3D Support

This branch adds side-by-side stereoscopic 3D support through a single pass with a geometry shader. The geometry shader handles the duplication of the geometry and will project each vertex according to the projection matrix for each eye. 

The stereoscopic projection matrix is generated from the normal projection by means of a shearing transformation (courtesy of @comex).

All framebuffers have been changed to layered framebuffers (courtesy of @degasus) each layer represents one eye. Using this layered rendering method means we already support EFB2Tex copies with the correct stereoscopic projection.

*When testing the current build keep MSAA and XFB disabled, these options are not yet compatible with stereoscopy*

### To-Do
- [ ] Add stereoscopy support for EFB format emulation.
- [x] Fix SBS pillar boxing for 4:3 ratio.
- [x] Add options to customize stereoscopy parameters.
- [ ] Add support for layered EFB2Tex copies with MSAA enabled.
- [ ] Add stereoscopy support to Virtual XFB.
- [x] Add support for top-bottom and anaglyph.
- [ ] Add support for Quad Buffers and 3D display modes.
- [ ] Prevent @Parlane from ticking to-do boxes.
I think it's better to stop here when the geometry shader compilation has failed:
if (!vsid || !psid || (!gsid && gcode))