Add a GUI logging channel.

Replace asserts with _dbg_assert_.
Viewport scaling and display density independence

The view is scaled to be as large as possible, without changing the aspect, within the bounds of the window.
On "retina" displays, or other displays where window units != pixels, the view should no longer draw incorrectly.
Fixup EmuWindow interface and implementations thereof.
EmuWindow: Add support for specifying minimal client area sizes.
EmuWindow: Add documentation.
EmuWindow: Remove window title getters/setters.

The window title is none of the emulation core's business. The GUI code is free to put whatever it wants there.
Providing properly thread-safe window title getters and setters is a mess anyway.
EmuWindow: Better document the purpose of OnMinimalClientAreaChangeRequest.
OpenGL Renderer: Cleanup viewport extent calculation.
MathUtil: Make Rectangle work with unsigned types.
EmuWindow: Add a TODO.

Implementing this function currently is not critical, as we don't perform any configuration changes, yet.

However, the interface is a good starting point for adding this functionality.
citra-qt: Small cleanup.
EmuWindow: Add some explicit documentation and set proper minimal client area size.
citra GLFW: Ignore minimal window size hints.

GLFW provides no proper support for this, hence we just allow any window size to be used.
Merge pull request #165 from neobrain/viewport-scaling

Stretch emulation output to render window and be display density independent