Cleanup Source superclass.

Authored by markwei on Apr 19 2017, 9:01 PM.

Description

Cleanup Source superclass.

Summary:
Fix onDisconnect() not being called anywhere.
Remove observer from onEnabled() and onDisabled()
Make onDisconnect() a required method.

Improve TweenSource implementation to parity with PhysicsSpringSource.
Now correctly removes listeners when an observer disconnects.

Reviewers: O2 Material Motion, O6 Material Android platform reviewers, Material Motion, featherless

Reviewed By: O2 Material Motion, Material Motion, featherless

Tags: Material Motion

Differential Revision: http://codereview.cc/D3149