Add support for multi-browser testing in Testling

This commit shuffles aspects of testing around in order to allow
[Testling CI][1] to run our browser tests.

[1]: https://ci.testling.com/
Adding deeper requirements for browser testing.
Don't depend on the URL of the test runner
Move remaining XPath calls in util to xpath module

The purpose of this commit is two-fold. First, consolidate all the
XPath related code in our xpath module. Second, having done this
we are free to remove the dependency on the xpath module from our
util module. This will allow us to use util as the one definitive
source of the jquery object. Without this, xpath could not be changed
to get jquery from util because it would result in circular import.
Remove remaining references to require('jquery')

Only the util module should do this.
Merge pull request #346 from openannotation/xpath-out-of-util

Move remaining XPath calls in util to xpath module
Merge branch 'testling'

I'm not entirely sure this is all working yet, but I can't see any harm
in merging.

Conflicts:
	test/runner.html
Add some fluency to the Factory API
reduce xpath export surface
Improve comments in xpath
Fix broken pluginInit for new style instantiation
Make NullStore the default with Annotator.Factory
Missing super call in markdown plugin
Merge remote-tracking branch 'upstream/master'