Fixed Autotooltips plugin not unsubscribing from event on destroy.
Issue #151 - Can't destroy a grid with checkboxrowselect plugin
Cleaned up column width calculations and removed syncColumnCellResize option.

Added a way to provide row and/or cell specific metadata:
The item metadata is retrieved separately from the item itself.  It is done via the optional "getItemMetadata(index)" method on the data provider.  The method should return an object that will be queried by the grid.  The object can contain row-level properties itself (currently supported: selectable, focusable, cssClasses, formatter, editor) and a "columns" collection with column-level properties (currently supported: selectable, focusable, cssClasses, formatter, editor, colspan) indexed by column id or index.  The grid will first try to read a supported property off row-level metadata, then off column-level metadata first by id and then by index, and then off the column definition.

Renamed "unselectable" into "selectable" and changed how it works.  It is now queried in the order described above, and the first available value is read.  The new "focusable" property works the same way.

Separated logic for determining whether a cell can be active/focused and selected.  Added "canCellBeActive" method.

Removed grouping-related code from the grid core and implemented it via "getItemMetadata" on the DataView.

Rewrote cell navigation to work with colspan.

Added support for colspan.  Colspan can be defined on the column definition (or item metadata via getItemMetadata).  A special value of "*" is taken to mean "span the rest of the row".

TODO:
Further decouple grouping.  Add a grouping plugin to handle toggling and provide formatters.  Move that stuff out of the DataView.
FIXED:  old data getting referenced after a call to setData().
Throws an error when the container does not exist in the DOM
Moved group and totals row handling out of DataView and client pages and into a Slick.Data.GroupItemMetadataProvider responsible for overriding the look and behavior of group and totals rows and providing expand/collapse functionality by acting as a grid plugin (still needs to be registered with the grid on the client page).
Fixed example pages using DataView.
DataView now lazy-inits the GroupItemMetadataProvider only when grouping is performed, so no need to include its .js file if grouping isn't needed.
Optimized DataView's addItem/insertItem/deleteItem.
Added an "enableTextSelectionOnCells" option and fixed text selection getting hijacked by drag'n'drop in dragInit.
Fixed drag'n'drop broken by the last checkin.
Start max supported CSS height at 1M pixels.
This fixes occasional Chrome errors and zoom issues.
- Removed code supporting the deprecated cell positioning.

- Generated an explicit row height for the row CSS class to allow styling the row and fix the odd/even row styling.
- Allow selection model to be set back to null/undefined.
Added a missing CellRangeDecorator (Issue 184).
Various fixes.

- grid.setSelectionModel() now accepts null.
- Added grid.getRenderedRange() method.
- Set the height on .slick-row so its background can be styled in CSS.
- Removed some dead code.
- Added a Slick.EventHandler helper class to simplify working with
event handlers.
- Fixed an extra onSelectedRowsChanged event firing during multi-row
selects in RowSelectionModel.
- Fixed copy/paste keyboard shortcuts on a Mac in CellCopyManager.
DataView perfomance.

DataView:
- ability to specify a batch filter function.  This cuts down on a
function invocation overhead.
- refresh hints (isFilterUnchanged, isFilterExpanding,
isFilterNarrowing).
- ability to set a range of rows which should be checked for diffs in
the onRowsChanged event (this is typically the grid rendered range;
ignoreDiffsBefore, ignoreDiffsAfter).

Also added an example demonstrating the usage.
Merge branch 'master' of github.com:mleibman/SlickGrid
DataView grouping perf

Optimized DataView grouping by dynamically compiling the aggregator
accumulation loop and inlining the accumulator function.  This removes
the function call overhead and considerably speeds up aggregate
calculation for large numbers of items.  One caveat is that aggregators
now have to be self-contained and not reference any variables outside
of the "this" scope.
Continuation of DataView perf work

- Reverted the batched filter functions and implemented dynamic
recompilation instead.
- Added compilation of an optimized filter loop for the
"isFilterExpanding" hint.
Fixed example4 and a bug in a DataView filter compilation.