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.)
Fixed in https://github.com/hypothesis/annotator/commit/9c46ae8ff7149d2d28646f419a978bb2e756c428.