Move avifImageSetMetadataExif() to exif.c

Move avifImageSetMetadataExif() from avif.c to exif.c. This allows a
libavif client such as Chromium that uses only the decoder to not
include exif.c. In https://github.com/AOMediaCodec/libavif/pull/1154
avifImageSetMetadataExif() was modified to call
avifImageExtractExifOrientationToIrotImir(), which is defined in exif.c.

See https://chromium-review.googlesource.com/c/chromium/src/+/3945613.
diff --git a/src/avif.c b/src/avif.c
index 3d79c9d..2512a56 100644
--- a/src/avif.c
+++ b/src/avif.c
@@ -267,13 +267,6 @@
     avifRWDataSet(&image->icc, icc, iccSize);
 }
 
-void avifImageSetMetadataExif(avifImage * image, const uint8_t * exif, size_t exifSize)
-{
-    avifRWDataSet(&image->exif, exif, exifSize);
-    // Ignore any Exif parsing failure.
-    (void)avifImageExtractExifOrientationToIrotImir(image);
-}
-
 void avifImageSetMetadataXMP(avifImage * image, const uint8_t * xmp, size_t xmpSize)
 {
     avifRWDataSet(&image->xmp, xmp, xmpSize);
diff --git a/src/exif.c b/src/exif.c
index fc73f8c..4bdbd7a 100644
--- a/src/exif.c
+++ b/src/exif.c
@@ -117,3 +117,10 @@
     image->imir.mode = 0;  // ignored
     return AVIF_RESULT_OK;
 }
+
+void avifImageSetMetadataExif(avifImage * image, const uint8_t * exif, size_t exifSize)
+{
+    avifRWDataSet(&image->exif, exif, exifSize);
+    // Ignore any Exif parsing failure.
+    (void)avifImageExtractExifOrientationToIrotImir(image);
+}