Allow creating an annotator without annotations.

Just checking args.annotations.data instead of args.annotations will
result in TypeErrors when the args.annotations parameter is omitted. We
need to be able to handle both the original use case of requesting vs.
not requesting the instantiation of an annotator, & the situation in
which an annotator is requested but no actual annotations are provided.
We could fail safe in that situation and refuse to construct an
annotator, but this arrangement is more convenient for things like
editors, where the annotations may change over time. An
Annotator.prototype.refresh() method has been added to further support
that use-case.
TODO: allow separate control over individual annotation sets.