Fixed steps in autoSizeColumns() that detects infinite loops for shrink and grow operations.  In some cases the prevTotal exceeded total (for grow) and was less than total (for shrink).  The existing check simply checked if the 2 values were equal, but not if prevTotal had gone beyond the proper bounds, resulting in an infinite loop.
Merge pull request #818 from mjonas87/master

Improved infinite loop avoidance in autoSizeColumns()
Implement lazy totals calculation in the DataView.

Add a ‘lazyTotalsCalculation’ grouping info option (default = false)
that delays the totals calculation until the item is accessed via
getItem(index).  This can dramatically improve the perceived
performance of the DataView operations on very large datasets.
Optimize DataView group collapse/expand.
Fix a typo
introduced click event handler on range overlay: this allows user code to act in an application-specific way when the selection overlay is clicked.
synchronized with my other dev branches to simplify merging:

- all examples now have the same HTML5 structure

- all referenced libraries are updated to their latest state

- some source code formatting

- CSS stylesheets synced
Merge remote-tracking branch 'remotes/mleibman-original/master' into ojotoxy-master

Conflicts:
	slick.dataview.js
	slick.grid.js
- move common code up for the cell editor invocation: each branch calls makeActiveCellNormal()

- list all used options in the defaults section at the top
updated comment/description of the slickgrid options
Make sure options.editCommandHandler is active for both existing cell edits and when editing cells in the 'new row' at the bottom of the grid. Also unify the information sent to the related event (onCellChange / onAddNewRow). Also ensure that the event handler can deduce whether onCellChange was invoked for an edit commit or undo operation (by comparing the actually set value e.setValue versus e.serializedValue and e.prevSerializedValue). At the same time we fix the previously occurring double firing of onCellChange for default editors and now provide a separate .notify() function in the editor object so that custom editors can invoke this function to ensure the onCellChange event can be easily triggered from the custom editor code.
- fixed bug: makeActiveCellNormal() should come AFTER the editor instance has been invoked (as makeActiveCellNormal() deletes the cell's editor instance! Turns out it was previously correct for all cases except when the custom editor handler was specified: see commit 5b63c96a22b8a6ef5ba4a6ac27c4d105db17895c)

- added an example to test the various Editors and Formatters (and fixed the bugs/crashes in several editors)

- split the HTML+CSS collection code from appendCellHtml() into mkCellHtml() as we allow advanced Formatters to not only produce innerHTML for the cell but also augment its CSS classes and ditto styles. Now we re-render all of these rigorously so that BackgroundFormatter can actually work its magic on the entire cell instead of the (margin-ed) innerHTML <span> only, for example)

- added the library files required by the Formatters / Editors (multiselect & spectrum)
Merge branch 'ojotoxy-master' into k0stya-rowspan

Conflicts:
	css/smoothness/jquery-ui-1.8.16.custom.css
	examples/example-ajax-pager-fullscreen.html
	examples/example-scroll-during-row-reorder.html
	examples/example5-collapsing.html
	examples/example6-ajax-loading.html
	examples/index.html
	slick.grid.js
- first round of bugfixes for several examples (bugs uncovered in the merged code by running and testing the examples manually):
  + Slick.Editors args.container field is a DOM node object, not a jQuery DOM object, though at least one Editor (ColorEditor) expected a jQuery DOM object instead.

- internal position decoding function getRowWithFractionFromPosition() now delivers the height next to the cell position fraction to same time when callers need this information which has already been obtained. A height of 1 is used for out-of-range pixel position to row coordinate requests.

- appendCellHtml / mkCellHtml internally require colspan and rowspan info, which they collect themselves: hence the calling interface has been reduced (colspan parameter is removed) and now mkCellHtml produces this info next to the rendered HTML and CSS for further use by callers which also require this information, thus this information has only to be obtained once per cell.

- fixed bug in mkCellHtml interface: stringArray was a copypasta leftover in the arglist

- cellHeight-dependent styling is moved from appendCellHtml to mkCellHtml to allow all callers access to the same information and render output; the cellHeight is also exported as an extra information element in the return object so that callers can re-use this data.

- fix crash in renderRows() when scrolling a grid which has rowspanning cells that span way above the top viewport edge: the relevant row would not be in the cache any more and a crash ensues unless the row is reconstructed and cached before completing the render, just like all other rows which are (partially) visible in the viewport.

- getCellFromPoint() now also outputs cell width and height as part of the return object: user code can use this. (E.g. for custom clipping/zoning code on click event)
completed the CellRangeDecorator onClick event trigger code: it now includes the coordinate of the clicked cell under the mouse cursor when the overlay is clicked.
comment typo fix