Of events

originally, I just wanted to use oF-style events to allow for onComplete/Update/Start to notify member functions.

Other changes include:
* Splitting source into multiple files
* Adding those new files to the example so it still compiles
* Adding do/dontDelete method to allow for setting bKill while preserving the call chain
* Updating the Chaining to use previous Tween's end-time as reference time for subsequent Tweens (similar to how restart() was updated)
* Switched from `vector<Tween*>` to `list<Tween*>` to allow for adding/removing Tweens while iterating over list. We were not accessing by index except to delete anyway, so no performance hit.
* Added setDuration() to allow re-using a tween with different durations on subsequent uses.