Move some touch logic to the `handler` base class.

"elemoine" suggested this approach in http://trac.osgeo.org/openlayers/ticket/3402#comment:2

This also fixes the bug that is mentioned in the ticket. This is the main reason for the changes in tests.

All tests of handlers work.