Render PDF page by page

There's a relatively small penalty for this, and it allows us to display
pages as soon as they're ready.  Right now, we just do them in order,
but we could modify this to start with the displayed page, or to do
just-in-time rendering.

Note that we are now setting the image size directly, rather than using
CSS zoom.  A high-res render with the correct image size looks a bit
clearer than the same image with a small size and compensating zoom.

Ref #4.
Remove remnants of browser from viewer
Render pages on demand

When we first load the PDF or do any scrolling, we render the visible
pages, as well as the page above and below the visible region at the
current zoom level.  We skip any page that has already been rendered at
that zoom or higher.

Ref #4.
Center pages in PDF viewer