Fix Interrupted Simulated Swipe

Problem
-------

When swiping on a trackpad, mouse wheel events are generated by the
hardware, and target the original source of the last "real" wheel
event. The virtualization of the ScrollList removes items as these
wheel events are processed, creating a situation where the scrolling
UX suddenly stops, as though a wall is hit.

Solution
--------

Defer the removal of DOM elements until mouse wheel scrolling stops.
For consistency sake, do the same when handling swipe events.
Once interaction stops, the stale placeholders will be removed.

Unit Tests
----------

Added and updated

How To +10/QA
-------------

- Travis CI should pass
- `grunt serve` locally
- Navigate to the ScrollList demo
- Start performing large single swipe interactions on the trackpad.
- The scrolling should smoothly play out naturally.
- Checkout @master to compare and see the brick wall effect.

@lancefisher-wf @robbecker-wf @patkujawa-wf @georgelesica-wf @tomconnell-wf @todbachman-wf