ColumnSet: fix horizontal scroll glitch on Chrome at some zoom levels
Fix #171: store edited field with no store

Update the internally stored value when a cell is updated with the
editor plugin and the grid is not backed by a store, allowing the
updated value to be queried
CHANGES.md: note no-store editor data fix, and move ColumnSet bullet
Address ColumnHider a11y issues

Ensure tab stop for the ColumnHider trigger node and allow it to be displayed
by pressing enter/space

* Use a button to provide tab stop and enter/space triggering for keyboard nav
* Immediately focus first checkbox within the popup when it opens

Add Dialog Role, Escape to close

* Pressing Escape while the columnhider dialog is open will cauase it to close
* Focus returns to the dialog toggle button when the dialog is closed
* Add dialog role to dialog div

Add aria-label and supporting i18n

* Add aria-label to the ColumnHider popup dialog and supporting nls
files
ColumnHider: add Keyboard mixin to first grid in test page
Fix #361: OnDemandList: empty preload node caused preload processing to stop.

In cases where the first/top preload node was visible but empty, the
second/bottom one was not being processed.  The top one had to be scrolled
beyond the buffer limit before the second one was processed.
CHANGES.md: note OnDemandList fix for reloading after resizing
Fix #361: OnDemandList: Stop preload navigation from ping-ponging
List: Clean up observers that will never be used; refs #642