Qt5: don't create Nitpicker views for desktop widgets

Fixes #1163.
Qt5: handle dialog windows as top-level windows

Fixes #1164.
fixup "Use signals for delivering input events"
Generic resource monitor (WiP)
os: Construct invalid 'Rect' by default
os: Utility for tracking dirty rectangles
nitpicker: Perform redraw asynchronously

This patch changes nitpicker's way of redrawing. Originally, redraw
operations were triggered immediately by the RPC functions invoked by
clients. In the presence of clients that invoked a large number of those
functions, the server could become overloaded with processing redraw
operations. The new version performs redraw operations out of band with
the RPC functions. Similar to the design of the DOpE GUI server, redraw
operations are processed periodically. The RPC functions merely modify
meta data and track the dirty areas that need to be updated.
Consequently, nitpicker's RPC functions become light-weight operations.

As a nice collateral effect of this patch, nitpicker's internal
structure could be simplified because the drawing backend is no longer
needed by the code that dispatches the RPC interface.
nitpicker: Support for session-focus management

This patch introduces a focus-management facility to the nitpicker
session interface. As a side effect of this change, we remove the notion
of a "focused view". There can only be a "focused session". This makes
sense because input is directed to sessions, not views.

Issue #1168
Scout: Add DroidSans-Bold10 font as tff
Minimalistic decorator for window system
decorator stress test
testnit_two_nitpicker_sessions.diff
qt_desktop.diff
Simple desktop environment (WiP)