UIKit Transition API simplified and with added blocks and gestures for interaction. Works with all UIViewController subclasses.