gestures: generic swipe(+scroll)
gestures: parallel swipe+rotate+scale detection
gestures: alternate detection of 2-finger gestures

This patch drops the use of individual finger directions.
The gestures are detected based on 3 parameters:
* distance travelled: swipe
* axial distance changed: scale
* radial distance changed: rotate
mtstate: remove finger direction
trig: remove MTrack angle functions
mtstate: collect finger movements until explicit clean

Our touch panel emits finger movements _per finger_.
This means that a regular scroll is emitted in 2 blocks:
1st finger moves.
2nd fingers comes by.

With the traditional uncached detection, this move results
in 2 oppositte rotations, which should never reach the configured
limits.

With finger movement collecting, the movements are accumulated
until one gesture reaches it's configured limit.
When a button is sent, the accumulated movement is cleared.