Refactor|Stereo 3D: Cleaning up VR state and Oculus Rift

To objective of this is to move the generic portion of the VR state and
Oculus Rift rendering into libappfw.
Refactor|Oculus Rift: Migrated head tracking to libappfw

de::OculusRift accesses LibOVR and provides head tracking information.
Refactor|Client|libappfw: Renamed stereo 3D mode enums
Refactor|Client: Moved VRConfig to libappfw

Also, removed some of the public member variables of VRConfig.
Fixed|Oculus Rift|libappfw: Shutting down LibOVR (dangling references)

One of the references to the created LibOVR objects was not freed, thus
causing shutdown of de::OculusRift to hang waiting for threads to stop.

Also, now de::OculusRift initialization is attempted once, after which
no further attempts will be made until deinit() is called. This avoids
retrying the initialization every time de::OculusRift is accessed.
Merge remote-tracking branch 'origin/master' into oculus-refactor

Conflicts:
	doomsday/client/src/ui/widgetactions.cpp
Refactor|Stereo 3D: Removed some of the public variables from VRConfig

The client handles these as cvars and updates VRConfig as necessary.
Refactor|libcommon: Use a map URI with G_NewGame() and G_DeferredNewGame()

At present the logical episode and map numbers are parsed from the
map URI. In the future the episode should be specified in MAPINFO.
libhexen: Cleanup
libcommon|SaveInfo: Removed unused map() and episode() methods of SaveInfo
libcommon|SaveInfo: Saved games now record the current map as a URI

As the save version number has already been bumped to v14 for the
Doomsday 1.14 release, saved games made with unstable builds 1131,
1132 and 1133 will NOT be loadable.
libcommon: Continued work on remodeling saved game writing/reading

Moved MapStateWriter/MapStateReader into new source files and applied
the pimpl idiom. All map data write/read routines now take pointers
to these classes. Each provides access to any relevant utility funcs
and/or data structures (e.g., MaterialArchive).
libcommon|MapStateWriter: Typo
Documentation|libcommon: Improved apidocs for MapStateWriter, MapStateReader; cleanup
Refactor|libcommon|MapStateWriter|MapStateReader: Better names for some MapStateWriter/Reader methods
libcommon|MapStateReader: Throw a ReadError if a map saved state fails segment alignment check
libcommon|MapStateWriter|MapStateReader: Moved more logic into MapStateWriter/Reader
Refactor|libcommon: Separated saved game thinker info db into new source files
libcommon: Cleanup
Refactor|libdoom: Moved "Boss brain" to new source files