Decode tile-by-tile; saves memory and means we don't need to buffer the entire image in the OpenJPEG opj_image.