Fix a situation where the ng-cells content would not be displayed properly when we set a new "data" array that is smaller than the previous one and the user had scrolled down to an index that no longer exists in that smaller data array.

Improve a scenario where the table is quite large (rows and columns) and user scrolling has become quite slow due to the numerous "data -> cell" updates.

Allow the user to scroll the table vertically with the mouse wheel.

All features thanks to kayhadrin