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). Current 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.