Tile performance improvements for VMS and NDPI

See http://trac.openmicroscopy.org.uk/ome/ticket/10682

The smallest tile that can be read from these files is usually 4096x4096, so reading smaller tiles still means decoding one or more of those large tiles and cropping out the desired area.  This PR allows for caching of the last 4096x4096 tile read, which means that small tiles beyond the first (from the same 4096x4096 region) take < 5 ms instead of 300-400 ms.  The first small tile from any 4096x4096 region will still take 300-400 ms though, as it must still decode the larger tile.

The optimal sizes for VMS and NDPI have been changed to 256x256, as this seemed better to me (0.25 ms per tile vs. 4.25 ms per tile with 1024x1024 tiles).