Use .js instead of .coffee in test file URLs

This is less confusing, since the script being served is actually
the result of the bundling and compiling. Furthermore, these bundles
have source maps, and this might muck with the browser's ability to
resolve which file is actually the source.
Refactor test helpers and annotator into externals
Fix range test oddity with window.require

I couldn't find an explanation for this one in the commit history.
But I can't see why this should be here.
Tiny tweak to document spec regex for robust tests
Remove AnnotateItPermissions base class require

This is fulfilled at runtime, as before.
Add module-based plugin support

With this it should be easy for authors of all kinds to build on Annotator.

Creates index.js, main.js, and plugin.js in the pkg directory.

The index.js module provides a way for packagers of downstream applications
to require annotator easily in a CommonJS environment. For bundling Annotator
into a single script application, browserify can be used straightforwardly.
For creating plugins with browserify, ./lib/annotator can be externalized.
See the description of plugin.js for details.

The main.js module eases integration with AMD environments such as require.js.
It resolves to the UMD wrapped build output.

The plugin.js module serves as the basis for packaging plugins with browserify.
It populates the Annotator.Plugin namespace as a side effect of requiring the
'__plugin' module and re-exports Annotator. In this way, it can be used as the
entry point for creating a UMD module which will augment the Annotator
through the side-effects of including the plugin.

  $ browserify -r ./node_modules/annotator/plugin \
        -r ./node_modules/annotator:annotator \
        -r ./tags:__plugin \
        --noparse=annotator \
        --standalone=Annotator \
        > annotator.tags.js

The remaining thing to do is to build the .coffee to pkg/lib during release so
that the CommonJS require of annotator can resolve the full source if desired,
such as when making a downstream application that is meant to be distributed
as a single bundle.
rm inconsistent require .coffee extension in range
comment
Refactor to avoid one line of duplicate build code
Allow bundling of jquery as a build require