Window|Refactor: Reworked Window into a C++ class

Todo: Address private accessors in window.cpp
Todo: Replace naive state backup in Window::changeAttributes()
Window|Refactor: Addressed private Window accesses in window.cpp
Window|Refactor: Cleaned up Window construction
Window|Refactor: Cleaned up Window destruction
Fixed: Main window destruction upon fatal error

The main window was destroyed behind the back of the window manager.
Window|Refactor: Connect finishMainWindowInit() from create()
Window|Refactor: Revised access to the main Window
Window|Refactor: Minor interface improvements
Window|Refactor: Revised changeAttributes()

Replaced the naive and unnecessary internal state backup mechanism
with a validation logic that short-circuits the process before any
change is made.
Window|Refactor: Replaced global var 'theWindow' with macro DENG_WINDOW
Window: Cleanup
Window|Refactor: Various cleanup refactorings
Window: Cleanup
Window|Refactor: Use QRect throughout
Console: Improved "displaymode" command output
Window: Cleanup
Fixed: Class member initialization not supported by our C++ standard
Merge branch 'master' into fix-window

Conflicts:
	doomsday/client/src/ui/window.cpp
Fixed|qmake|Unix: Output directory accessed before created

The .desktop file was generated before qmake had a chance to create
the output directory.
Merge branch 'fix-window'