Add support for swipe gestures from lpm state

The touch area is defined as a rectangle. The touch point needs to stay within rectangle centered on the intersection point at line segment. Where as successive touch points need to be within defined distance from each other (i.e. updated touch point must be within circular area around previous touch point).

(hmm... more ascii art needed).