Abstract common swipe recognition parts

* SwipeAbstract handles all the common stuff
* Swipe* will just need to do their particulars