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.)
I think these log lines shouldn't be here unless they're a bit smarter. We shouldn't being saying to look for this library if it's not needed. The conditional here is on whether wgxpath is present. It might not be present, but a built in xpath evaluator is, and so wgxpath isn't needed. Therefore, we shouldn't log about it. Logs should be quiet by default.