Pass object into renderExpando function

Pass underlying object to renderExpando implementation so that expando may be customized on a row by row basis.
Fix #306, #406: Absolutely-position ColumnHider node and use icon
Update CHANGES.md to reference ColumnHider trigger fixes
Merge pull request #427 from pags/master

Pass object into tree.js renderExpando function.
tree: document renderExpando change in CHANGES.md
Fix #409: don't clobber classes when expanding/collapsing tree row
Document tree expando class preservation fix in CHANGES.md
Prevent un-necessary events in ColumnResizer
When a column is first resized, the `resizeColumnWidth` method is called on all columns in the grid. This was causing the "dgrid-columnresize" event to fire on unaffected columns. This change prevents these events from being emitted.
Merge pull request #459 from msssk/columnresize-event

Fix #441: Prevent unnecessary events in ColumnResizer
Update CHANGES.md to reflect ColumnResizer event emit fix
[FIX] fixes in docs, js-doc-parser won't crash now
Merge branch 'master' of https://github.com/gratex/dgrid
selector test: add test for resetting columns
Selection: don't bother calling allowSelect for deselection

This avoids an issue with resetting columns while something is selected;
it also short-circuits unnecessary logic, since if it's not possible to
select a row, it should always be deselected anyway.
Note Selection deselect/allowSelect fix in CHANGES.md
Position the scroller higher if a footer exists.
Use the offsetHeight of the footerNode if it exists.
Add ColumnSet test to Pagination test page
Only execute a remove call if the remove handler exists.  If a column is already hidden, don't try to hide it again.
Note ColumnSet + footerNode fix in CHANGES.md