Fix disposing of Document.Controller.
Externalize control over annotation behavior.

This is essential, as specific Article versions define different
annotations and thus annotation related settings must be defined there.
Bugfix: do not use chronicle when not available.
Renamed "controller.js" to "document_controller.js".

Accordingly, Controller -> DocumentController.
Minor change.
Comment.
Remove over-engineered Composite-Node editing stuff.
Fix spec of text node.
Experimental DocumentSession (future).
Cleanup.
Moved the basic node implementation to substance-nodes.

Allows us to depend on substance-nodes and use common implementations
e.g. in tests.
Make Document tests work again.

Removed former document manipulation tests.
This will be moved to the Writer.
Updated package.json
Fix regression.
Moved container to Surface.

It turned out that implementing the Container --
which basically is responsible for allowing composite nodes --
is extremly view dependent.
I.e., a selection coordinate must be in the domain of visible elements.
These elements can be fullfledged node-views, child views, or only
views for single node properties.
First iteration make things work with new Container implementation.
Several fixes.
Fix Bug: Annotator provided all annotations when cursor at 0.

Classical Javascript falsify bug.
Cleanup annotator.
Silence.