Use point object and fix the outer width method. Attach Shuffle to the window.

It doesn't work when an element has been scaled and using getBoundingClientRect. The rect returns the actual width of the scaled element.
Shuffle is now a global variable - mostly so I can access it from tests. I don't know of a better way.
Rename colYs to positions and position to point.
Fix maintaining last sort object when called without arguments.
Add test for last :bug:. Refactor similar tests into a new describe block.