Checking if recognizer has been created

Adding check to make sure tap gesture recognizer has already been
created
Updating interactionEnabled

Sets the object’s view
Adding Tap variable to VisibleMediaObject

Defines the Tap struct
Adding Pan variable to VisibleMediaObject

Defines the Pan struct
Adding Swipe and SwipeDirection

Swipe is a struct that allows a visible media object to access its
current swipe gesture: view.swipe
Adding EdgePan and RectEdge enum

Struct and enum for dealing with UIScreenPanEdge gestures
Adding LongPress struct

provides access to a LongPress gesture’s variables
Defining SwipeAction and EdgePanAction

Added the `direction: SwipeDirection` to make things a bit easier on
the developer…

Makes the following possible:
```
(location: l, direction: d) -> () {
switch d {
…
}
}
```
adding functions and vars to Touchable protocol

adding onEdgePan(), swipe, longPress and edgePan
Adding gesture handling methods

Including necessary internal variables and functions