Update KeyframeAnimationEffect to reflect FPWD

- Update KeyframeAnimationEffect API
- Remove Keyframe from API as this is now just a dictionary
- Normalize keyframe dictionaries
- Update algorithm for normalizing (distributing) the list of keyframes
- Update algorithm for sampling a KeyframeAnimationEffect
- Handle interpolating between keyframes with different composite operations
- Remove redundant KeyframeList and GroupedAnimationEffect types
- Remove merge composite operation
- Update tests accordingly

Note that the only substantial change to the tests is in test-compositor.
Address Doug's comments
Merge pull request #254 from steveblock/keyframeAnimationEffect

Update KeyframeAnimationEffect to reflect FPWD