Fixed|Games: Notification about changing the current game

DD_ChangeGame is responsible for actually carrying out the changing
of the current game, so the audience must be notified only after this
function has finished running.

Todo for later: The application should be responsible for game changing.
Games should either be a simple collection that does not know the
current game, or it should be managing the current game's changing
fully (effectively merging DD_ChangeGame into it).
Documentation|Client|Widgets: Cleanup and more apidocs
Fixed|libgui: Inserting more than one character at a time

The cursor position needs to be moved according to the amount of
characters inserted.
Client|Widgets: Echo commands in the log when entered
Client|LabelWidget: Fix build warning (switch with no case)
libgui|Font|RichFormat: Added escape sequences for tab positions

These will be used for aligning text on a line.
Client|FontLineWrapping: Cleanup
Console: Styled output for the "version" command

Todo for later: Using the style escape sequences this way is a bit
cumbersome. A more user-friendly HTML-like markup would be easier to
use, although it would require first parsing the markup into style
escape codes before entering into the log.
Merge branch 'master' of ssh://github.com/skyjake/Doomsday-Engine
libdeng2: Added EscapeParser

Utility for parsing a text string with ASCII Esc (0x1b) escape
sequences, used for rich text formatting in libdeng2.
Fixed|libdeng2|MonospaceLogSinkFormatter: Filter out escape sequences

Monospace log output does not use style formatting.
Refactor|libgui|Font: Use EscapeParser to set up rich formatting

Also cleaned up the implementation by applying the pimpl idiom.
Cleanup
Client|Default Style: Slightly darker background color
Cleanup
Refactor|Client: Lines can be composed of smaller segments

Tab stops and alignment of content between lines require that the
parts are positioned at GL drawing time rather than when the text
is wrapped and rasterized.

These changes add the concept of Segments to wrapped lines, where
each line is split into segments based on the tab stops defined with
escape sequences.

Todo: Each segment will be rasterized on a separate image on the atlas
so that they can move freely during GL composition.
Client|GLTextComposer: Align line segments based on tab stops

Todo: Cleanup.
libgui|Font|RichFormat: Revised interpretation of tab stops

Each range in the rich format is assigned a tab stop number.
Client|FontLineWrapping: Apply tab stops to line segments
Client|GLTextComposer: Improved positioning of line segments

The width of the rightmost line segments may now be contracted up to
15% to make them fit onto the available maximum width after tab stop
alignment has been done.