A finger-independent GestureDetector. (fixes issue #1349)

Hi, I've changed a GestureDetector to be finger independent. It means that gestures can be detected for each widget independently now.

For example, when I put two scroll panes next to each other, then I'm unable to scroll two lists simultaneously. GestureDetector simply expects, that I always use one finger to operate the GUI.

A good test of this scenario is in a ScrollPane2Test class. First, touch the screen outside of the scroll pane, and then try to scroll with a second finger.

The second test GestureDetectorTest can be used to check, that the change is backward compatible, but it also shows some shortcomings of the implementation, like the third touch is not registered, so it can't be used to prolong pinching (like in Google Maps for instance).
Pretty nasty for it to indicate an invalid pointer by either null or an id < 0 :/