ParagraphLayout: Added CountGlyphs()
ParagraphLayout: Added GetTextBounds(). Untestet.
TextDocument: Added Length()
TextDocumentLayout: Added GetTextBounds().
TextDocumentLayout::GetTextBounds(): Forget to offset...

... by the vertical offset of the ParagraphLayout containing
the text offset.
ParagraphLayout: Added line info methods

 * CountLines()
 * LineIndexForOffset()
 * Bug fixes in GetTextBounds()
TextDocumentLayout: Line info and refactoring

 * Added LineIndexForOffset()
 * Extracted _ParagraphLayoutIndexForOffset()
TextDocumentView: Preparations for selection support

Added methods to deal with caret offset and selection anchor,
constructing a BShape enclosing the selection range and drawing
it. Added mouse event stubs.