Separate the xpath range code to a new module

As discussed on the mailing list, I separated the xpath and range functionality into a separate module.

The NPM module is here:  https://www.npmjs.org/package/xpath-range
The code is here: https://github.com/csillag/xpath-range

This change removes the code from Annotator (since it's now shipped in the new module), and starts to use the new module instead.

   * * *

This PR obsoletes #390. (It has been rabased to latest master, to fix node 0.8 build problems with Travis.)
Originally, [it](https://github.com/hypothesis/annotator/commit/b37c9055686243a637cf3fa0973eb095dee2e0c1#diff-3) [did](https://github.com/csillag/xpath-range/blob/688afb33986e179702677a42ccf6db529616fb3c/src/xpath.coffee#L4).
Until @tilgovi [asked me](https://lists.okfn.org/pipermail/annotator-dev/2014-June/000965.html) to move it back to Annotator core.
Then I [put it back](https://github.com/hypothesis/annotator/commit/550ab15cc3189108ac27324a6ae8bc42260b1f5d).