Avoid decoding partial tiles

Testing !data in avifDecoderDecodeTiles() is not enough because
samples gathered from merged extents may be partially available.
This behavior happens with incremental decoding of progressive
images, for example.
diff --git a/src/read.c b/src/read.c
index 70ed7fc..f367a6b 100644
--- a/src/read.c
+++ b/src/read.c
@@ -3776,7 +3776,7 @@
         avifTile * tile = &decoder->data->tiles.tile[firstTileIndex + tileIndex];
 
         const avifDecodeSample * sample = &tile->input->samples.sample[nextImageIndex];
-        if (!sample->data.data) {
+        if (sample->data.size < sample->size) {
             assert(decoder->allowIncremental);
             // Data is missing but there is no error yet. Output available pixel rows.
             return AVIF_RESULT_OK;