The vertical scrollbar height needs to be detected dynamically instead of only at the first time

This is because the vertical scrollbar may change of size due to other external reasons.

e.g. When the parent block of the directive is hidden (display:none), then the height is 0.
    Then when the parent block is displayed, the vertical scrollbar height will have a positive value.
Add some NaN checks for safety

This is related to the previous bug fix in the previous commit.

If when the scrollbar is not displayed, then e.target.scrollLeft, scrollTop, the scrollHeight and scrollWidth will be 0.
The division of 0 by 0 will result in a NaN that will flow to scope.$$setCenterColumnsData() and create data mis-alignment.
The final result is that the table appears to be empty.