Horizontal scrollbar

## Problem

We want a horizontal scrollbar.

## Solution

Add one. I did this by modifying the existing scrollbar to add an option to make it horizontal. Then you instantiate two scrollbars, one vertical, one horizontal. I personally like this method of doing it, but I can see other strategies, such as having a single scrollbar object manage both horizontal and vertical, and you can enable them with some kind of parameter. The one drawback I see to what I have done is that there is some repeated code. It isn't terrible though, IMHO.

## Tests

Updated.

## QA Instructions

Check out the branch, tests should pass. Open the scroll list demo, zoom in, then fiddle with the horizontal scrollbar. No regressions.
I thought about that, but there are a bunch of different things that have to be handled differently. There is `height`, `y`, `clientY`, `top`, and maybe another one. We are going to end up with duplicated code no matter what we do, at least this way it is all right in front of you.