libshell: Added a utility routine for determining line wrapping
Shell: Adjusting menu items
libshell: MenuWidget's border style is configurable
libdeng2: Added Rectangle<>::adjusted()

Expanding or shrinking the size of a rectangle.
libdeng2|Refactor|Fixed: Improved Rules implementation

Rules are now passed as argument by const references rather than
const pointers. This allows overriding arithmetic operators to easily
create OperatorRule instances.

The OperatorRule operators return a reference to a refless rule
instance that the caller is expected to take a reference to.

Added a Floor operator to OperatorRule.

Rules are also by default invalid after instantiation.

DelegateRules inform their source when they become invalid so that any
internal dependencies can be resolved. Fixes a problem with
RuleRectangles where invalidating a Width or Height would not cause
the Left/Right, Top/Bottom edges to also become invalid.
libshell: Added DialogWidget, updated with revised Rule conventions

Added a proper class for wrapped lines (LineWrapping in libshell.h).
Labels and the line edit widget use the same line wrapping logic.
Shell|Fixed: Refresh timing, rule usage

If one starts another QEventLoop from a QTimer timeout(), the timer
is paused and would cause refresh to stop.

Now each refresh is scheduled as a single-shot signal.
Shell: Added dialog for opening a connection

Also acts as a test for child widgets. The child widgets' positions
are defined in terms of the parent widget's RuleRectangle.

The dialog itself is centered in the view (top/left position depends on
the rectangle's own width and height rules).