Unified, easy API for custom iOS view controller transitioning