Extract logic to new class: ECPercentDrivenInteractiveTransition

- Move layer pausing, continuing, and reversing logic to new class.
- This allows interactive transitions to be more flexible by updating
  frames/transforms directly by providing their own update/cancel/finish
  interactiveTransition calls.
- This is closer to the behavior for the UIKit transition API.
  Interactive transitions can take an existing animation and play it
  back in a "percent driven" manner, or an interactive transition can
  update a view's frame/transform directly.