Drop redundant cache argument to read_tile callback
jpeg: Drop unnecessary helper function

in favor of glib utility function.
tiff: Add tiff_level struct
Add struct _openslide_level ** to openslide_t

osr->levels contains pointers to the backend's level structures, which
should now be accessed through osr->levels.  The backend is still
responsible for freeing them.  struct _openslide_level should be the
first member of those structures.
Move downsamples into struct _openslide_level
ngr: Use private level structure
Check for try function putting osr in error state

For now, this happens in a few error paths.  Add an early exit in
openslide_open() for this case.
Move level dimensions into struct _openslide_level
Move tile geometry hints into struct _openslide_level
Use _openslide_level pointer in cache key
Use _openslide_level pointer in tilehelper
Pass _openslide_level pointer to paint_region
Eliminate redundant TIFF tag lookups
Merge branch 'master' into reorg
Move cairo_t translation into tilehelper
tools: Don't choke on "--" command-line argument

In order to pass negative x/y coordinates to openslide-write-png, one
must first pass "--" to stop option parsing.  GOptionContext doesn't
remove this argument from argv, so we need to do it ourselves.
Abstract out tiling calculations for regular grids

This reintroduces the bug that causes missing right/bottom edge tiles
with Trestle.  This will be fixed later by switching Trestle to a
JPEG-style tile table.
jpeg: Drop unused one_jpeg width/height members
jpeg: Add physical tile size to struct tile
jpeg: Create separate tiles table for scaled layers

Predivide all values by scale_denom.