Improve XMP parsing (1679)
Improve XMP parsing (1679)

1. If pugi load_buffer finds syntax errors in the XML it is parsing, it
returns an error code, which caused us to ignore the XMP block entirely.
It turns out that's a poor strategy, because lots of files have XMP that
is ever so slightly malformed, so we weren't picking up their XMP at
all! So, just ignore the fact there was a parsing error, go ahead and
try to make sense of whatever portion (maybe all?) of the block was able
to be parsed.  It works!

2. Added a additional XMP tags for GPano, Google's Photo Sphere metadata
schema.

3. Replace linear search of the XMP tag list with a flat_map::find
(which underneath is a sorted vector with binary search).

4. Also add a bunch of camera raw (crs: prefix) XMP tags to the table.

lgritz/oiio,OpenImageIO/oiio,lgritz/oiio,OpenImageIO/oiio,lgritz/oiio,OpenImageIO/oiio,OpenImageIO/oiio,lgritz/oiio