Revisions: Bunch of refactoring and code cleanup

* Extracted a lot of model-y stuff from the view code.
* Slider now has a proper model, with communication with other models.
* Use of `get( foo )` instead of `findWhere({ id: foo })`.
* Properly set the `from` diff when routing single mode.
* Bind `prev()` and `next()` to their model.
* Tick marks are now percentage based, which means the slider resizes with the browser, without JS resize events.
* When scrubbing, the position of the scrubber is considered a hover, so you can fall off the timeline while still scrubbing and the tooltips will persist.
* Tooltips fade in and out.
* Tooltips hang around for a grace period instead of immediately going away. More forgiving.
* Unused code paths removed.
* Got rid of a bunch of view-to-view communication.
* Use `_.times()` instead of a `for` loop.
* Removed premature `Math.floor()` and `Math.ceil()` calls that were making things not add up to 100%.

See #24425.

git-svn-id: https://core.svn.wordpress.org/trunk@24658 1a063a9b-81f0-0310-95a4-ce76da25c4cd