Improve touch & touchpad gesture semantics

Merged Aleix Pol Gonzalez requested to merge work/apol/stateful-gestures into master

Something that feels off about our gestures right now is that they are closed using the same gesture as it opens. This of course makes for a slightly simpler code but IMO not so good usability. Additionally, we have a considerable amount of duplicated code to handle this which didn't make it easy to address this.

In this MR, I've introduced a new class called TogglableState that can handle this complexity transparently and it implements it for the overview and desktopgrid effects.

Merge request reports