Created a category on UIGestureRecognizer creating a block based API

The UIGestureRecognizer+Blocks catagory leverages the objective-c
runtime to add a block based initialisor for all gesture recognizers.

This allows you to create gesture recognizers using an "initWithBlock"
method.
Updated from MattGlover/master and merged conflict