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.
libdeng2: Added a shorter macro for DENG2_ESC()
Client|GLTextComposer: Apply line alignment
Fixed|Client|LogWidget: Ensure visible range is not too small

When the visible entries are very tall, the potentially visible range
would be quite narrow.
Refactor|Client|Widgets: Use the _E macro instead of DENG2_ESC
Client: Improved console output of various commands/subsystems

Applied rich formatting and generally improved the console message
output.

Note that the monospace formatter doesn't handle tab stops presently…