An UIPageController replacement supporting custom transitions and gestures