HY-1715 Add zoom methods

## Problem

We want to be able to tell the scroll list to zoom to a level such that the content fits in the viewport, either by width, height, or window (auto). Currently this would require re-instantiating the scroll list.

## Solution

Add methods to allow this.

## Tests

Added.

## QA

Tests should pass. Talk to me about about QA'ing this, there's an easy way to do it.
Here and elsewhere remove references to 'page' and rename them 'item'.