Reorganizes init.js to bring Kapi operations closer to each other.
Cleanup.

Replaces app.config.initialDuration with
constants.INITIAL_ANIMATION_DURATION and makes
app.kapi.getAnimationLength the single source of truth for animation
length.
Removes unnecessary call to app.view.canvas.backgroundView.update.
Adds support for multiple keyframes.

Squashed commit of the following:

commit 7290fdef64301c82d6940cd643fd56db6d9ce442
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Jul 7 17:43:38 2013 -0700

    Updates version to 0.1.0.

commit a5530facd369267a8ae34c1e1a366d103970cdda
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Jul 7 17:41:53 2013 -0700

    Updates README.md and updates YouTube link.

commit e14aa21261ff894786124cffd1a6441ccc9f541e
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Jul 7 15:51:59 2013 -0700

    Fixes an issue with clicking keyframe headers and updates in-app documentation.

commit dea048dcc802eb986ee73595691fa77bb0c8fcdc
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Jul 7 14:51:11 2013 -0700

    Adds a keybinding to create new keyframes.

commit 14ae3169e2bbfcc40d229e925d800ddc4576b116
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Jul 7 14:43:44 2013 -0700

    Refactors KeyframeFormsView#createKeyframe into its model.

commit 1552e48de23ad5f515f90f800c71c57c58b24c3d
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Jul 6 17:41:17 2013 -0700

    Fixes pinned-button-array display in Firefox.

commit fc79c83b7fddbfc739518a6a16232dea8a5975cb
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Fri Jul 5 16:41:34 2013 -0500

    Tweaks placement of Add Keyframe button.

commit 2aa66d08b37681f60428bbadeba32536c052e19c
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Fri Jul 5 16:29:48 2013 -0500

    Keeps Add Keyframe button always in view.

commit 08e845396f691b324fd76ab075157718f7112d2d
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Fri Jul 5 16:03:28 2013 -0500

    Removes old duration control.

commit efd834681c6c6f9173f7026d2fec6ea7a8860cee
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Fri Jul 5 15:54:38 2013 -0500

    Fixes bugs with reordered keyframes overwriting old ones.  Renames Tween tab to Motion.

commit 074b01f79babd4903b5336670989b137ddcee952
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Fri Jul 5 15:07:53 2013 -0500

    Fixes bug with removing reordered keyframes.

commit 93559b491ef38e38565d341a6ee43fc224628a49
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Fri Jul 5 14:58:11 2013 -0500

    Improves usability of millisecond selectors of KeyframeFormViews.

commit 5d6bcbed50b3a38f4515820bd30f18817079e9b7
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Fri Jul 5 13:46:13 2013 -0500

    Removes KeyframeModel from KeyframesCollection.

commit 4f09a5c9773f8dadb8df42b36c4cc88daab1ab00
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Wed Jul 3 21:12:12 2013 -0500

    Signal to owner Actor to remove a keyframe.

commit aefa7d9c9a492d55765f0494d9fd9c95e45ca344
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Wed Jul 3 21:06:41 2013 -0500

    Adds and calls CrosshairView#tearDown.

commit 520ee37f3e39f1dabce8e4819cb1023f8d00b6c3
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Wed Jul 3 20:59:39 2013 -0500

    Call KeyframeFormView#remove in #teardown.

commit e569492f115d1988ab9ebc1dd04e7352957e513e
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Wed Jul 3 20:56:37 2013 -0500

    Removes more things in KeyframeFormView#tearDown.

commit 4872dda8783526d75df8bd7a778345c9f900a7d5
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Wed Jul 3 20:49:09 2013 -0500

    Adds tearDown for AutoUpdateTextFieldView and IncrementerFieldView.

commit b3a6a75e42fecf7f4aed51ee00012b7789b212fc
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Jun 30 10:51:45 2013 -0500

    Fixes incrementers.

commit eb7e229de0062e0f35f7f6f3fce8bee063ac1ae1
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Jun 30 09:50:47 2013 -0500

    Adds EaseSelectView#tearDown.

commit 6188454107fe2de358f1998a1a7d951475a3b35c
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Jun 29 13:55:09 2013 -0500

    Starts on keyframe teardown logic.

commit 86f6660e5e422eb1bb09863e45eca675f5f41fd0
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Thu Jun 27 17:28:23 2013 -0700

    Adds and styles button for removing keyframes.

commit 64dc63d03735f535a1f4277fa7bca28038994101
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Tue Jun 25 22:06:53 2013 -0700

    Reorders CrosshairViews when models are reordered.

commit 0cb502ebeff7c5e57b6094982bcf2ba9c3ce8297
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Mon Jun 24 21:16:21 2013 -0700

    Removes from and to classes from crosshairs.

commit 6037a21d18d5a5693ca23d484f14c4867fd525fb
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Mon Jun 24 20:59:34 2013 -0700

    Improves the relationship between CrosshairsView and CrosshairView.

commit 0976156c45b5d8dbe2471f736f857a7a3b83cb2b
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Mon Jun 24 20:49:30 2013 -0700

    Scopes the #crosshairs container to only contain crosshair .elements.

commit 9e1c2f4d89cb28f467aa5711aa073eb7c9459a14
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Jun 23 22:22:33 2013 -0700

    Reorderes KeyframeFormViews on the DOM.

commit b39536c776dafdeacce098df34bf63b789e99a1a
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Jun 23 17:18:14 2013 -0700

    Changes how CrosshairsView and KeyframeFormsView are accessed.

commit 0c979e7f0e43207f4ef2a72f616f054b0c94ba13
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Jun 23 17:02:25 2013 -0700

    deleted: src/ui/keyframe.js

commit 5dde5e7fb59ffefc94ba3b1efd9854e768699ff4
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Jun 23 17:01:43 2013 -0700

    Refactors code into KeyframesCollection and ActorModel.

commit 269cedfa11f8b6a9d9b3de16fe0a8879c260f4f3
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Jun 23 16:12:09 2013 -0700

    Updates internal keyframe order and pathing when the user changes keyframe milliseconds.

commit 5e41c946451ad8992dd70ece8770513400edf7eb
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Jun 23 11:41:44 2013 -0700

    Wires up millisecond incrementer.

commit 38e31296f55376edf12faeec930aa9c47d2a2a55
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Jun 23 10:57:45 2013 -0700

    Adds millisecond IncrementerFieldView to KeyframeFormView.

commit f0b7897472bad3786d20a2fedbe4ec885ff8876b
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Jun 22 22:42:13 2013 -0700

    KeyframeFormsView refactoring and cleanup.

commit 1e7398d3f7dd2e0616f65613395c5ce44e387e88
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Jun 22 22:15:59 2013 -0700

    Makes Add keyframe button add keyframes.

commit 3f9b3fd859e1bf6cc2445ed91a514ff7e843a53e
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Jun 22 21:45:01 2013 -0700

    Adds and styles a lable for add keyframe button.

commit 22cb3fd24ea6a03bbb43e73b2dd970908d54f1f5
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Jun 22 13:54:29 2013 -0700

    Adds HTML and CSS for keyframe adding button.

commit 94cd20053ff9f5afd1d7914079ab319f44332c33
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Jun 22 13:34:44 2013 -0700

    Consolidates KeyframeFormView DOM construction logic.

commit 42c729bcddb145e266799043e8789135cb2376cc
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Jun 22 13:19:26 2013 -0700

    DRYs up initEaseSelects.

commit 85673f0dcb09351cb203ca434f2a669532cb170f
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Jun 22 13:06:25 2013 -0700

    DRYs up KEYFRAME_TEMPLATE a bit.

commit 62136cd3480e61983c3d2a7bc0cf095c6c074a53
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Fri Jun 21 22:30:53 2013 -0700

    Swaps nth-child(1) for first-child.

commit a8d51ec47367d6053363a0be4db114da781b2567
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Thu Jun 20 19:56:02 2013 -0700

    Makes a CSS selector more specific.

commit fff63e29ede4b303209bad34033e9d72c4c53115
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Wed Jun 19 21:20:01 2013 -0700

    Improves styling of vertical keyframe forms.

commit 0ca3d733a59f6c3b075b412fb80d9174da2424c9
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Wed Jun 19 20:34:30 2013 -0700

    Refactors code into isFirstKeyfame.

commit e991729a00ca3ac1d907edf15b97eefb863c3b81
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Tue Jun 18 21:21:58 2013 -0700

    Refactors some logic into the Keyframe Model.

commit 859db98cca2f93735ed072d2db452ef2e24c2af2
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Tue Jun 18 21:13:20 2013 -0700

    Moves easing string updating to KeyframeFormView.

commit 533c35f540738d0f0d658938e9e5ada00b4e8b93
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Tue Jun 18 20:51:33 2013 -0700

    Easing selectors now belong to KeyframeFormView.

commit a38a23df2ca46813bbc75cd35a91fa4d614aa428
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Mon Jun 17 20:40:25 2013 -0700

    Initializes EaseSelectViews inside of KeyframeFormView.

commit 12ab940e85ef38ad677dd3bb3f65b7ad99ef5761
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Mon Jun 17 20:14:03 2013 -0700

    renamed: src/ui/select.js -> src/ui/ease-select.js

commit d78f62d8aaec4bbb60967b6500f511371d3281e9
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Mon Jun 17 20:07:11 2013 -0700

    Swaps Keyframes and Tween tabs.

commit bffb767e629119a3ea67361088ce16f06381cd2b
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Jun 16 16:09:12 2013 -0700

    Modifies background.js to handle an arbitrary number of keyframes.

commit c01d107a3df6b22f54640f843197d689c1ce9584
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Jun 16 15:49:48 2013 -0700

    generatePathPoints now collects the values it needs rather than getting them from parameters.

commit 6a216db27be203eb1a930b85e287fc94188adabb
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Jun 16 15:23:48 2013 -0700

    Some preliminary path generator refactoring.