Remove unneeded script tags from dev files
Be more lenient with desired package versions
Move notification method binding into annotator.coffee
Minor whitespace fixes
tools: serve all test files as .coffee from /test

Rather than emulating the build-and-test pattern that we had before, we
can now just compile and serve the test files (and their required
dependencies) on the fly while processing the script tags in the test
runner.

So, just serve every .coffee file under test/.
test: move spec_helper.coffee to test/helpers.coffee

We only have one helper file, so a directory isn't really necessary.
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).
Merge pull request #279 from okfn/browserify-test-requires

Browserify branch proposed modifications to testing