Dynamically add recognizers

Instead of relying on Hammer.defaults.preset we add the recognizers as they are needed.

Since the presets are smartly set in a certain order they can easily depend on each other (or at least any recognizer defined before itself).

Here we can't expect the event listeners to be defined in a certain order, so instead we figure out the dependencies after-the-fact with `updateRecognizeWith`.


Chances are that some of the defaults interact in other ways now, so it might kill backwards compatibility.
If Hammer.defaults.preset has been changed the behaviour *will* be overwritten now. 
To change those defaults one should use ractiveTouch.defaults['tap'].options['time'] = 200; now.