Refactor intersects

* DRY up `intersects`
* fix up support for `Circle`
* add support for `Feature`
* remove `Error`, return `false` instead
* fix up documentation