Fix(importer): changes to handling of data watch

Add a dataChangeCallback capability to grid, which is called
by the data watch function.  Make use of this for importer to
know when the data change has occurred.  Refer #1819 for the
concept here.

Fix rowEdit so that error rows aren't duplicate entered into
rowEditRowsDirty if they error twice.

Update tutorial numbering - newer tutorials have conflicted with
older.

Change importer to require an explicit callback to be provided
by the user - change the data from userspace rather than in the
grid itself.

Fix grid menu so that it displays correctly on Chrome, it had
started only partially rendering.  Fixed by changing position from
absolute to fixed.