Provides a framework for editing text documents.

## Package Specification

The packages defines and implements a viewer for text documents.

`ITextViewer` defines the concept of a document based, editiable viewer. `ITextViewer` offers the following functionality:

- present a document
- event consumption (`IEventConsumer`)
- viewport tracking and notification (`IIViewportListener`)
- change notification (`ITextListener`, `ITextInputListener`)
- listeners (combined view/model notification, input document)
- standard text editing functions plus text hover support
- visual region support

An ITextViewer supports the following plugins

- `IUndoManager` for the undo/redo mechanism
- `IDoubleClickStrategy` for partition type specific behavior on mouse double click
- `IAutoIndentStrategy` for content type specific behavior on inserting a line break
- `ITextHover` for content type specific behavior when overing over text

The package provides default implementations for all these interfaces.