Fixes SC.Cursor's determination of its internal stylesheet object.  Previously, it would just take the last stylesheet, but any style elements in the body would match this.  Instead we find the stylesheet whose node matches the element we insert for the cursor object.

Includes unit test.
Updates SC.RecordArray's pacing code to use the updated invokeNext function instead of setTimeout.
Fixes a problem with pooling views.  If the layerId changed, the original layerId was unknown and the original cache of the view in SC.View.views would not get removed.
There was an issue that if you destroyed a child view, it would destroy its
layer and remove itself from the parent, which in turn invoked updateLayerLocationIfNeeded
in parentViewDidChange.  If before updateLayerLocationIfNeeded ran a new
child was created with the same layer id, when updateLayerLocationIfNeeded
did run it would remove the new layer from the parent.

The solution was that if a view is destroyed, don't invoke updateLayerLocationIfNeeded.

- includes unit test
Requesting an index beyond the length of a sparse array should not trigger an index or range request on the delegate and just returned undefined.  If you need to prime a sparse array to start loading without setting a length, it's best to use sparseArray.requestIndex(0).

includes unit test
Refactors SC.CollectionView to implement reusable item views and view layers.  This support was built into the view already via an undocumented property, but didn't work correctly anyway.  The same support could be found in the SC.CollectionFastPath mixin, but it was also poorly documented and difficult to use.  Instead, the performance improvement has been re-implemented to be simpler than the version in SC.CFP and to actually work unlike the version in SC.CV and so that it will be seen by developers, it has been turned on by default.

- Also removes some of the problems with itemViewForContentIndex as noted by internal comments.
- Also removes the reloading benchmark, which was previously deprecated.  Removing instead, because it doesn't even work, the call to SC.Benchmark.start was invalid.
- This is a work-in-progress commit, there are more to come.  Results so far:

  on reload all:  previous version  ~14.5ms,  new version ~ 6.5ms
  on reload partial:  previous version ~ 6.39ms, new version ~1.27ms
Deprecates useFastPath in SC.CollectionView (i.e. SC.CollectionFastPath) since the performance improvements have been baked in by default.
Adds documentation on the new default SC.CollectionView view and layer pooling.
Speeds up the performance of determining if an item index is a group index in SC.CollectionView by first checking if there are group indexes and the item index is within those indexes.
Removes SC.ListItemView as the default exampleView of SC.CollectionView.  For one, SC.CollectionView should not be used un-extended so there's no reason to predefine this value and for two, this means that you can't blacklist out SC.ListItemView and keep SC.CollectionView.
Tidies up the changes a bit more.
Uses SC.View as the default exampleView to avoid errors.
Commits work-in-progress on collection view pooling so that I can separate out work that should be in a different branch.
Adds private (for now) method to properly move the pooled item view out of visibility when not destroying the layer.  The previous version didn't work when the number of items changed.
Cleans whitespace in collection view and removes redundant content property in SC.ListItemView (it is already defined by SC.ContentValueSupport).
Simulated mousedown event should include clientX & clientY.  Also prevents the test from hanging.
Updates to improve docs and fixes pooling.
Fixes regression in private method and simplifies internal API.
Removes old comment and improves support for transitioning from deprecated fast path.
Removes debug statements and unneeded variables.