Decode and encode ISO 21496-1 JPEG images

Add SkJpegMetadataDecoder::getISOGainmapMetadata, to extract the
ISO 21496-1 metadata blob from a JPEG file.

Update SkJpegMetadataDecoderImpl::findGainmapImage to search for
ISO 21496-1 metadata in the base JPEG image.

Update the extract_gainmap function to also search for
ISO 21496-1 metadata. If that metadata is found, and if it indicates
not to use the base image color space for applying the gainmap,
then parse the gainmap image's ICC profile.

Update lots of tests.

Bug: b/338342146
Change-Id: I998316b9242b5fc2fa59219855b73946582aa2ac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/854696
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Christopher Cameron <ccameron@google.com>
Commit-Queue: Christopher Cameron <ccameron@google.com>
11 files changed