Client|libcommon|Input: Added 'Head Tracker' input device; raw axis mode

There is now a virtual input device for head tracking. It has three
axes with an absolute position and no filtering applied.

Device axes can now be flagged as IDA_RAW, meaning their values will
not be smoothed in any way. Instead, the latest received values are
always used.

Also, with "input-sharp 0", i.e., unsharp input ('sharp' meaning
synchronized with 35 Hz game ticks), player yaw and pitch angles are
updated from the controls on every frame rather than only at 35 Hz.

The Input Settings dialog was updated with toggles for "input-sharp"
and mouse axis filtering.
Merge branch 'oculus-rift' of https://github.com/cmbruns/Doomsday-Engine into oculus-rift
libgui|GLState: Allow fluently applying a popped state
Cleanup|ClientWindow: Moved wip Oculus Rift drawing to a private method

Also, fixed some issues with the use of GLState:

- This test code is using immediate GL drawing, which means every
  change to GLState has to be manually applied before drawing.
  Managed drawing with libgui's Drawable will do this for us.

- Applied a purple hue to identify that the graphics are coming
  from the offscreen target.

- Clearing the targets appropriately before drawing.

- For the final draw, disable blending and depth test.

Todo: Next problem is to find out why the game-side menu drawer
messes up GL state in such a way that the screen is drawn as purple.
Fixed|ClientWindow|Stereo 3D: Compensate for legacy graphics code

The legacy graphics code is still completely bypassing libgui's GL
state management so we have to hack around it.

The main problem was that GL_TEXTURE_2D was left disabled after the
legacy renderer had drawn the frame.

Todo: There is still a funky issue with the depth buffer.
Add depth/stencil buffer to GLTarget with texture color attachment.
Restore global variable for VR::mode
Hacked in a simple shader
Warp shader is working.
Turn off frustum shift in Rift mode.