Fix -Wmissing-prototypes and -Wcast-qual warnings

Add 'static' to function signatures of avifImageSplitGrid() and
avifEncoderFindExistingChunk(). This fix was suggested by Pascal
Massimino.

Change the type of the cellImages parameter of avifEncoderAddImageGrid()
from:
    const avifImage ** cellImages
to
    const avifImage * const * cellImages
so that we can cast a avifImage ** pointer to the new type without the
-Wcast-qual warning. This fix was suggested by Yuan Tong.

Fix https://crbug.com/oss-fuzz/28622.
diff --git a/apps/avifenc.c b/apps/avifenc.c
index 56169df..daabbde 100644
--- a/apps/avifenc.c
+++ b/apps/avifenc.c
@@ -272,7 +272,7 @@
     return AVIF_TRUE;
 }
 
-avifBool avifImageSplitGrid(const avifImage * gridSplitImage, uint32_t gridCols, uint32_t gridRows, avifImage ** gridCells)
+static avifBool avifImageSplitGrid(const avifImage * gridSplitImage, uint32_t gridCols, uint32_t gridRows, avifImage ** gridCells)
 {
     if ((gridSplitImage->width % gridCols) != 0) {
         fprintf(stderr, "ERROR: Can't split image width (%u) evenly into %u columns.\n", gridSplitImage->width, gridCols);
@@ -994,7 +994,7 @@
 
     if (gridDimsCount > 0) {
         avifResult addImageResult = avifEncoderAddImageGrid(
-            encoder, (uint8_t)gridDims[0], (uint8_t)gridDims[1], (const avifImage **)gridCells, AVIF_ADD_IMAGE_FLAG_SINGLE);
+            encoder, (uint8_t)gridDims[0], (uint8_t)gridDims[1], (const avifImage * const *)gridCells, AVIF_ADD_IMAGE_FLAG_SINGLE);
         if (addImageResult != AVIF_RESULT_OK) {
             fprintf(stderr, "ERROR: Failed to encode image: %s\n", avifResultToString(addImageResult));
             returnCode = 1;
diff --git a/include/avif/avif.h b/include/avif/avif.h
index c65ba9c..96fdaec 100644
--- a/include/avif/avif.h
+++ b/include/avif/avif.h
@@ -865,7 +865,11 @@
 //
 
 AVIF_API avifResult avifEncoderAddImage(avifEncoder * encoder, const avifImage * image, uint64_t durationInTimescales, uint32_t addImageFlags);
-AVIF_API avifResult avifEncoderAddImageGrid(avifEncoder * encoder, uint8_t gridCols, uint8_t gridRows, const avifImage ** cellImages, uint32_t addImageFlags);
+AVIF_API avifResult avifEncoderAddImageGrid(avifEncoder * encoder,
+                                            uint8_t gridCols,
+                                            uint8_t gridRows,
+                                            const avifImage * const * cellImages,
+                                            uint32_t addImageFlags);
 AVIF_API avifResult avifEncoderFinish(avifEncoder * encoder, avifRWData * output);
 
 // Codec-specific, optional "advanced" tuning settings, in the form of string key/value pairs. These
diff --git a/src/write.c b/src/write.c
index a6c3671..f45afcd 100644
--- a/src/write.c
+++ b/src/write.c
@@ -382,7 +382,7 @@
 static avifResult avifEncoderAddImageInternal(avifEncoder * encoder,
                                               uint8_t gridCols,
                                               uint8_t gridRows,
-                                              const avifImage ** cellImages,
+                                              const avifImage * const * cellImages,
                                               uint64_t durationInTimescales,
                                               uint32_t addImageFlags)
 {
@@ -626,13 +626,13 @@
     return avifEncoderAddImageInternal(encoder, 1, 1, &image, durationInTimescales, addImageFlags);
 }
 
-avifResult avifEncoderAddImageGrid(avifEncoder * encoder, uint8_t gridCols, uint8_t gridRows, const avifImage ** cellImages, uint32_t addImageFlags)
+avifResult avifEncoderAddImageGrid(avifEncoder * encoder, uint8_t gridCols, uint8_t gridRows, const avifImage * const * cellImages, uint32_t addImageFlags)
 {
     return avifEncoderAddImageInternal(
         encoder, gridCols, gridRows, cellImages, 1, addImageFlags | AVIF_ADD_IMAGE_FLAG_SINGLE); // only single image grids are supported
 }
 
-size_t avifEncoderFindExistingChunk(avifRWStream * s, size_t mdatStartOffset, const uint8_t * data, size_t size)
+static size_t avifEncoderFindExistingChunk(avifRWStream * s, size_t mdatStartOffset, const uint8_t * data, size_t size)
 {
     const size_t mdatCurrentOffset = avifRWStreamOffset(s);
     const size_t mdatSearchSize = mdatCurrentOffset - mdatStartOffset;