test: Add another error string for mirax-png-bad-image
hamamatsu: Drop unnecessary dummy statement
Don't use locals after longjmp that are modified after setjmp

Their values are indeterminate.  We got away with this for a long time,
but it was causing optimized builds on Mac OS 10.9 to crash in JPEG
error paths.

Fix by allocating state structs with gslice before calling setjmp.
This requires us to redo JPEG error handling, but the resulting API
is more encapsulated and more explicit.
jpeg: Rename _openslide_jpeg_error_mgr and base class member
hamamatsu: Rename my_src_mgr.pub field
hamamatsu: Use libjpeg allocator for random_access_src buffer

This allows libjpeg to release the buffer so we don't have to.
hamamatsu: Delegate most of random_access_src to mem_src
test: Fix mirax-associated-bad-label for jpeg-9a

jpeg-9a now accepts JFIF major version 2.
gdkpixbuf: Switch to GdkPixbufLoader

It allows us to specify the expected image format, which has two
advantages:

- We no longer fail if gdk-pixbuf was compiled to use GIO sniffing and
shared-mime-info is not installed.

- We don't expose every gdk-pixbuf format loader, only the ones we need.

It also allows us to detect invalid image parameters before the entire
image is loaded.

Disadvantage: the caller must now specify the length of the image data.
mirax: Reduce size of struct image

The offset/length fields actually only use 32 bits each.