Use "within-element" and "get-document" for Range support

Hey @timoxley! So we've been using this module to do measurements on Range objects (text selections) within the web page. So far we've had to hack it by setting `range.ownerDocument = document` and `range.parentNode = document`. But these new dependencies have Range support built-in, so these hacks are no longer necessary on our end.

Hoping we can merge this and publish a new npm version. Cheers!