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

Closes #4550
Closes #5812

- 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`.
I have put together truth tables for all possible cases (assuming `swipeActive = false`).
The calculatd outcome (swipe/scroll) is based on my suggested condition above. It seems that using this condition, everything works as expected (at least theoretically).

#### Case 1: `absTotalX >= swipeTH` and `absTotalY >= scrollTH`

                                | absTotalX > absTotalY | absTotalX = absTotalY | absTotalX < absTotalY
--- | --- | --- | ---
swipeTH > scrollTH | swipe | swipe | scroll
swipeTH = scrollTH | swipe | swipe | scroll
swipeTH < scrollTH | swipe | swipe | scroll

--
#### Case 2: `absTotalX >= swipeTH` and `absTotalY < scrollTH`

                                | absTotalX > absTotalY | absTotalX = absTotalY | absTotalX < absTotalY
--- | --- | --- | ---
swipeTH > scrollTH | swipe | impossible | impossible
swipeTH = scrollTH | swipe | impossible | impossible
swipeTH < scrollTH | swipe | swipe | swipe

--
#### Case 3: `absTotalX < swipeTH` and `absTotalY >= scrollTH`

                                | absTotalX > absTotalY | absTotalX = absTotalY | absTotalX < absTotalY
--- | --- | --- | ---
swipeTH > scrollTH | scroll | scroll | scroll
swipeTH = scrollTH | impossible | impossible | scroll
swipeTH < scrollTH | impossible | impossible | scroll

--
I will try to put some tests together tommorow, in order to verify all the different cases.