Second attempt to fix #777, still ensuring the rendering row count is sensible - just using a correct interpretation
uses RebuildGrid() instead of UpdateGridLayout to avoid whitespace for (absent) scrollbar
accepts a custom data watcher function
customDataWatcher documentation
Add a new option - noTabInterference.

Setting this option prevents tabs from being processed by the control,
and are instead used to switch between controls. This makes pages more
accessible because it prevents the grid from becoming a keyboard trap.
Merge pull request #856 from A1kmm/master

Add a new option - noTabInterference.
Merge pull request #848 from dpangier/master

Second attempt to fix #777, still ensuring the rendering row count is sensible
Merge pull request #854 from zacronos/custom_data_watcher

csv-export plugin: custom data watcher
Merge pull request #853 from zacronos/scroll_space_fix

flexible-height plugin: removed extra spacing