OGL: Stereoscopic 3D Support (SBS)

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.
- [ ] Fix SBS pillar boxing for 4:3 ratio.
- [ ] Add options to customize stereoscopy parameters.
- [ ] Add support for EFB2Tex copies with MSAA enabled.
- [ ] Add stereoscopy support to Virtual XFB.
- [ ] Add support for top-bottom and anaglyph.
- [ ] Add support for Quad Buffers and 3D display modes.
Postprocessing shaders already resolve the layers, it's just done implicitly by adding the layer uniform to the texture coordinates. Using this method the user can still use post processing shaders in combination with stereoscopy without the need for multi-pass post processing.