feat($swipe) Add config param to allow choosing X/Y thresholds.

Closes #4550.

- Create config parameter to pass in swipe/scroll (X/Y) thresholds.
- Allow the new thresholds to be applied to how the function determines when to scroll and when to swipe.
- Fix bug where swiping back and forth within the thresholds would cause a bad cancel event.
- Fix bug where if you went back inside the thresholds, you could potentially cancel a swipe in progress.
- Add tests for all these changes.
- Clean up the docs and add definition for the parameters used in `$swipe.bind`.
Why are we firing a `cancel` event even if `absTotalX` is zero and/or `swipeActive` is false ?