Bunch of changes + bug fixes

New features:
* Can set IPD (in mm) in the console through r_oculusrift_ipd.
  * Defaults to LibOVR provided IPD value
  * Clamps values to 0mm to 100mm inclusive
  * Other values set r_oculusrift_ipd to LibOVR provided value so you can reset
  * Value of r_oculusrift_ipd is not saved to allow it to use LibOVR provided value by default.
* New partially decoupled aiming mode
  * r_oculusrift_aimmode 5
  * Similar to vr_moveaim_mode 3 for TF2
  * Allows mouse aiming within a dead zone, moving past the dead zone moves view
  * r_oculusrift_deadzone allows adjusting the angular area of the dead zone. Defaults to 30 degrees (+/- 15 from view angles), can be set to 0-70 inclusive.
* New crosshair mode
  * r_oculusrift_crosshair 3
  * Uses a point projected to (roughly) infinity to prevent movement in/out of depth.

Changes:
* Chromatic aberration is enabled by default.
* Some redundant calculations were removed from R_InitHMDRenderer()
* Resources for magnetic drift support are created/destroyed when it is enabled/disabled
* Setting r_oculusrift_prediction prints the prediction time on the console
* Rift crosshair support has been cleaned up a bit.
* Crosshair size now scales so that on the Rift it should always be about 3 pixels wide for the point and 2 pixels wide for the line.
* Crosshair modes 1 and 3 use a rounded dot instead of a square.

Fixes:
* V_PolyBlend() no longer breaks the HUD when Rift support is enabled
* When you die the Camera no longer rotates around roll axis when Rift support enabled
* The HUD no longer gets stuck rotated around the roll axis when you reset the Rift home position
* Magnetic drift support now properly re-enables after resetting the Rift home position

Bugs:
* Warping effects (e.g., water) messes up the console.
* Decoupled aim mode has position issues with the intermission screens.
* Decoupled aim mode has position issues if you reset home position on the Rift (but you don't usually need to do that).