Platform gesture

Provide gestures interfaces for both iOS and android.

Gesture recognition is implemented explicitly on individual platform, handled in the core by normalizing the gesture inputs from both the platforms.

This implementation provides naive handling from default gestures.

Some of the main TODOs include: 
a. Handling of continuous zoom
b. Account for zoom levels when panning.
Looking at how many places we have to branch with switch statements like this, would it make sense to just write separate functions for handling each gesture type?