custom UINavigation push/pop animation and interaction