fix(uiGridBody): horiz. scroll on touch

Was looking at pageX instead of screenX
Use a minimum value for the scrollbar width, so they're always visible
fix(Scrolling): De-dupe scroll events, other fix

The native scrollbars were re-triggering a grid scroll event when the
event was coming from a source other than themselves. I.e., the body would
trigger a scroll event from a mouse wheel movement, then the native
scrollbar would update and trigger a scroll event again, thus the grid
would scroll twice. Now the scrollbars only trigger events when THEY are
the source of the scroll.

Also fixed the horizontal scrollbar masking the final row when the grid
was scrolled to the end.
Updating todo