Provides a framework for creating and manipulating text documents.

### Package Specification

`IDocument` is the major text model abstraction. It provides content management, position management using position categories, document partition management, and change notification. In order to be notified about document changes, an object must implements `IDocumentListener` and must be registered with the document. `Position` updating in responds to a document change is performed by implementers of `IDocumentPositionUpdater`. Partition updating in responds to a document change is performed by implements of `IDocumentPartitioner`. In order to be notified about document partition changes, objects must implement `IDocumentParititoningListener` and must be registered with the document.

The package contains default implementations for document position updaters and for documents. `AbstractDocument` uses `ITextStorage` for storing and managing its content and `ILineTracker` to maintain a line structure of its content. As defaults a gap text implementation of `ITextStore` is provided, together with a line tracker understanding the three standard line delimiters ("\r", "\n", "\r\n") and a line tracker which can be freely configured to consider any given set of strings as valid line delimiters.