Pretty-print functionality for XMP

A few XMP properties, mainly from the exif schema, need formatting. Add a pretty-print framework to XMP similar to that used for Exif. Reuse existing pretty print functions wherever possible and avoid duplicate code.