test: update all tests to require their own deps
test: update all tests to require their own deps

Rather than having each test suite rely on global scope, this change
causes each test suite to become a self-contained module, which is
forced to explicitly require its own dependencies.

This is ugly in places, but only because it exposes underlying couplings
in the test suite. This is a good thing, because it will hopefully
encourage us to remove these in future.

One major open question is how dependencies should work for plugins. At
the moment, plugins inject themselves into the Annotator namespace,
which requires that each plugin file require()s the core Annotator
module. This seems wrong: we should probably be working towards plugins
which can be entirely standalone, and which have the relevant Annotator
instance provided to them as a constructor argument (i.e. dependency
injected).

Genius/xpath-range,openannotation/xpath-range,tilgovi/simple-xpath-position,Genius/xpath-range