Fix ScrollBar Exceeding Viewport Top/Bottom

There are two ScrollBar bugs that this PR addresses.
* When the ScrollList is dragged above or below it's bounds, the ScrollBar also exceeded it's bounds.
* When the ScrollList was zoomed out such that the ScrollList was shorter than the viewport, the ScrollBar would become taller than the viewport.

Solutions
* The ScrollBar positioning is now bound between `0` and the height of the viewport minus the height of the ScrollBar.
* When the ScrollList is shorter than the viewport, the ScrollBar height is set to `0`, since it isn't necessary to scroll something that is already completely visible.

**Unit Tests**
-----
Check that the ScrollBar height is set to zero when the ScrollList is zoomed out far enough.

**How To +10/QA**
-----
```bash
# skip the following steps if you've already initialized the project
$ git clone git@github.com:WebFilings/wf-uicomponents.git
$ cd wf-uicomponents

# do not skip these!
$ git fetch && 
git checkout HY-1094 && 
./init.sh && 
grunt qa
```

* All tests should pass with no console errors
* In the ScrollList Demo, set the Fake Document to have 1 page. You should not see the ScrollBar. Zoom in, and the ScrollBar should appear.
* At the top or bottom of the page, click and drag so that the grey space above/below the ScrollList is visible. The ScrollBar should not move to overlap the header or footer.

---

Please review: @timmccall-wf @shanesizer-wf @lancefisher-wf 
FYA: @joshschlick-wf 
Is height the height of the scroll bar, or the scroll bar's pill? I just want this to be clear, which height you're talking about. The scroll bar height should be as tall as the viewport. The pill height should reflect the ratio of the viewport height and the total height of the list.