New: Ability to display any number of rows - not limited by browser
maximum element height

- Browsers have a maximum height for CSS elements - it varies by
  browsers, but 2^32 is common. The upshot is that Scroller, as it was,
  cannot display large number of rows (millions) since it was assuming a
  completely infinite scrolling block. This commit works around this
  limitation in browsers.

- The way this has been implemented is to have Scroller switch into a
  "domain transfer" mode where the position of the table for each draw
  position is calculated as a scaled proportion of the "virtual" to
  "physical" table heights. In Scroller the term "virtual" refers to
  the pixel positions if browsers did allow infinitely height scrolling
  blocks for each calculations, and "physical" is the scaled down sizes.

- If the table height is < 1 million pixels, this new mode is not used,
  the old method is used (although through the new code).

- When in the virtual mode, the scroll bar is non-linear (quadratic).
  This is to ease the start and end of the table, where otherwise the
  table redraw boundaries could cause the browser to get stuck (just a
  few pixels can be hundreds of rows for example).

- Known issues:
  - Scrolling manually doesn't work at the end of the table - you can
    scroll past the "end point". Dragging the scrollbar into place works
    just fine, but if you mousewheel to it, you can scroll past the end
    a bit.

- This work is kindly sponsored by forum user `curts`
Merge branch 'master' of github.com:DataTables/Scroller