Screen/Custom/ContainerWindow: include cleanup
DisplaySettings: initialise orientation in SetDefaults()
MapSettings: rename enum DisplayOrientation to MapOrientation

Prepare for adding a "real" enum DisplayOrientation.
DisplaySettings: move enum DisplayOrientation to separate header

Being outside the struct, it can now be forward-declared.
Event/Console/Queue: enable SetMouseRotation() on all targets
OpenGL/BufferCanvas: remove superfluous glPushMatrix()/glPopMatrix() pair

If somebody has edited the matrix, this should be undone by now.  Add
assertion to ensure that.
Form/List: use GLCanvasScissor instead of GLScissor

Let GLCanvasScissor figure out the projection.
OpenGL/Globals: split screen_size into window_size/viewport_size

Prepare for the new display rotation.
OpenGL/BufferCanvas: use glPushAttrib() to save old viewport

Fall back to glGetIntegerv() on Android.
OpenGL/BufferCanvas: save and restore the modelview matrix

Reverts commit f837a348; the operations were indeed necessary, but not
because the BufferCanvas renderer modified the matrix, but because the
matrix was not zero before, and that non-zero matrix must be restored.
Merge branch 'master' of git://git.xcsoar.org/xcsoar/master/xcsoar