Refactor UIView gesture recognizer helper methods

@sweetleon and @akitchen both raised a good point that working with
blocks and dealing with stack/heap issues is a lot more of a headache
than just iterating over things cleanly. It seemed initially that
a block based approach would be cleaner, but looking at this diff,
it's pretty clear that this is a lot less code (and it's easier to
read, as well).
Reverts test back to initial implementation.

We discovered an issue with the method swizzling and UITextInteractionAssistant that meant that we were seeing a crash in this spec. We'll add a commit that ensures that we don't get into this state.
Adds a whitelisting method to the UIGestureRecognizer extension category.

This allows us to only test the targets that we want to test, and not hold references to any internal objects in UIKit. Doing so is almost always a bad idea and can cause the runtime to over-release some objects.