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.)
> applications, not libraries, should take care of their polyfills

:+1: