Check the angle between the last touch and the vertical/horizontal axis starting from the origin point

Swipe detection is not working properly when the swipes are angled, especially upwards or downwards. The user's finger might go to the left or to the right just enough that the validation code in checkSwipeDirection accepts it for a side swipe, although it is obvious that it was a vertical swipe.

To mitigate this I added an angle check so a vertical swipe that goes to the side will not be taken as a side swipe unless the angle between the last touch and the horizontal axis is smaller than kSwipeMaxAngle(=30) degrees.