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

- [ ] 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.
The problem is that it's an optional parameter, if I put it in the middle I'll have to pass a lot of nullptrs explicitly instead of implicitly.