ParagraphLayout: Added more utility methods

* FirtOffsetOnLine(), LastOffsetOnLine(), and GetLineBounds()
TextDocumentLayout: Added more utility methods

* CountLines(), FirstOffsetOnLine(), LastOffsetOnLine(), GetLineBounds().
* Common code for finding a line in _ParagraphLayoutIndexForLineIndex()
Fleshed out more TextEditor functionality.

TextDocumentView now always has a TextEditor, but editing can be disabled.
The selection code lives only in TextEditor. Implemented more cursor
navigation code.
HaikuDepot: Disable editing for read-only text views.