No longer assume "clean" touch IDs (+ trivial features)

Fix:
It no longer assumes "clean" (sequential, zero-based) touch IDs, and got rid of the redundant touching[] array

And 3 minor features added;
- area attribute (with setter function), for better non-fullscreen support
- make "moving" with one finger optional
- getActiveTouchCount function