Adds function keyframe capability.

Squashed commit of the following:

commit bcfb1528e16d975329cc059fde011d535b04428b
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Thu Oct 30 21:31:48 2014 -0500

    Build v.1.4.0.

commit 78b10f1ee550fb8f4ad78f8a39f9c88488ee186d
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Thu Oct 30 21:28:53 2014 -0500

    Fix docs.

commit b9f8c84a29228195f39b295d0b3aa399ae396889
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Wed Oct 29 21:10:36 2014 -0500

    Passes drift and Actor context to function Keyframe callback.

commit 727bb3c009929a7cc16e735f60fb4a3da2ce9e23
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Wed Oct 29 20:48:49 2014 -0500

    Moves hasFired to KeyframeProperty object proper.

commit 54a91ecf00d117579feca1db47497d8568a0bd3f
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Oct 26 13:42:17 2014 -0500

    Ensure that line millisecond 0 keyframe functions are called properly.

commit 1913c8bef703fa07585f80ae8835121034b89c19
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Oct 26 13:14:07 2014 -0500

    Ensure that all tail function keyframes are called before looping.

commit efb8c23d4e6d27022e2b36e7d197ff0110d0ea6e
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Oct 26 11:48:22 2014 -0500

    Adds a failing test.

commit a52ec7020843604f601bdbc7d4ea1e7e46a5db2f
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Oct 26 11:37:26 2014 -0500

    Fixes a bad test.

commit 9973148579b88257e31f94b556093c84216c02f1
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Oct 26 11:30:24 2014 -0500

    Fixes issues around keyframe functions being called at the wrong time.

commit e90e31b239d40841b900266bfe6083fe8fa0c391
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Oct 26 11:05:57 2014 -0500

    Some refactoring, adds a failing assertion.

commit 47f8fa8d2c2fc260aef870bcd486dba6e753e0b8
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Oct 19 17:49:34 2014 -0500

    Adds animationLooped event.

    Prevents function keyframes from being called more than once per loop.

commit f474db21302336052028e56d8d56ec301436a19c
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Oct 19 17:20:53 2014 -0500

    Calls functions to pass some tests, adds another failing test.

commit ec1964b049bf934ecef47d55c18211c6f7b0ebdb
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Thu Oct 9 08:12:10 2014 -0500

    Adds some documentation for function keyframes and a failing test.