Factory -- a new way of configuring Annotator

The motivation for this PR is as follows:

- Annotator is increasingly being used as a building block -- a
  component of a larger application, rather than in its default
  configuration.
- In this mode, configuring an "annotator application" is rather
  hit-and-miss. Existing dependencies between plugins are managed in a
  somewhat haphazard way, and indeed, all plugins are added *after*
  Annotator's main events are bound, which leads to race conditions when
  plugin initialisation is asynchronous.

This commit sketches out an Annotator instance factory named,
imaginatively, `Annotator.Factory`. This factory allows the
specification of a particular annotator application (an assemblage of
core components, plugins, and their attendant configuration) "offline,"
without binding any events to the DOM (or other documents).

Instances of the Annotator can then be retrieved from this preconfigured
Factory, each of which is entirely independent of the other. Each of
these instances can then be independently bound to particular elements
of the DOM.