enh(headerCell,gridCell): dynamic cellClass and headerClass

Modify the existing cellClass option to have a dataChange callback,
allowing it to update when the data is changed.

Add a headerCellClass option that allows setting the class on the
header, and a dataChange callback to allow update.

Modify the dataChangeCallback setup to accept additional notifications
of changes - columnDefs, data, cellEdit and notifications from
the using application via an Api.

Minor changes to rowEdit to move information into the rowEdit namespace
on grid.

Tidy up some console.logs that shouldn't have remained.
Merge pull request #1842 from PaulL1/header_class

enh(headerCell,gridCell): dynamic cellClass and headerClass