revert back to using findEndTimeAndValue(), duration was wrong choice.
rename Param::cancelEventsAfter() -> removeEventsAfter()
use getCopyValueOnBegin(), instead of hasValueBegin(), though still set a value begin when making the Event, similar to ci::Timeline
Added Timeline::applyAt and removeTargetAt() to allow for ‘delayed apply’ Tweens.