leica: Refer to collection/view dimension units as "clicks"
leica: Avoid repeated nodeTab references
xml: Add XPath helper for expressions expecting one result
leica: Explicitly ignore non-brightfield images
leica: Rename parse_xml_description() argument
leica: Move level initialization into parse_xml_description()
leica: Set level size to slide size

Place tiles at the appropriate position within the level.
xml: Add XPath get_string helper
leica: Parse XML and build levels in separate passes

Delete broken test case.
tiff: Make _openslide_tiff_level_init() out arguments optional
cache: Change level argument to void *

There might be more than one coordinate plane per level, so we shouldn't
receive a level pointer.  For a while we were taking a grid pointer, but
the grid is an optional helper.  And we don't dereference the pointer
anyway; it's just a cookie for a coordinate plane.  Switch to taking a
void * selected by the vendor backend.
grid: Restore cairo matrix after translating
leica: Move brightfield test into create_levels_from_collection()
leica: Generalize quickhash for multiple main images
leica: Support multiple main images if their dimensions are coplanar
leica: Use the same clicks_per_pixel for all areas in a level