Significant refactor of the VR render path

-Moved all OVR specific code into r_vr_ovr.c/.h
-Create abstract VR render interface to make future device support easier
-Changed how views are selected/changed
-Fixed error in r_bloom.c if malloc fails during init
-Fixed error in OVR code path with custom lens separation distances
-Moved OVR render path back to using per-view FBO's
-Fix crashing bug for GPU's without GL_ARB_framebuffer_object
Update to video menu

-Only show adaptive vsync and fence sync options if the system supports
it