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

#### This PR
- [x] Fix SBS pillar boxing for 4:3 ratio.
- [x] Add options to customize stereoscopy parameters.
- [x] Add support for top-bottom and anaglyph.
- [x] Prevent @Parlane from ticking to-do boxes.

#### Future PR
- [ ] Add stereoscopy support for EFB format emulation.
- [ ] Add support for layered EFB2Tex copies with MSAA enabled.
- [ ] Add stereoscopy support to Virtual XFB.
- [ ] Add support for Quad Buffers and 3D display modes.
Are you sure? I just went with the same naming scheme as the vertex and pixel generator here.