Add support for swipe gestures from lpm state

As it's sloped, you can choose whether to use X or Y here. However, ideally we do both and select which one do to based on whether slope.x is bigger than slope.y, because then we have a more accurate result:

```
if (slope.x > slope.y) {
    score = (ip->x - self->beg.x) / slope.x;
} else {
    score = (ip->y - self->beg.y) / slope.y;
}
```

In other words, the steeper the slope is, the more you should prefer to use the difference for calculating the score.