Optimize UniXXX CMap files.

Split common parts into separate CMap files and include them with usecmap.

This reduces the size of the compiled in CMap resources from 3Mb to 2Mb.
Add cmap cleaning scripts.

One to write a CMap out in expanded form ready for text processing tools.
Another to write a CMap out as compactly as possible.

The output is not in proper CMap format and can only be parsed by MuPDF.
Fix 695156: Display metadata with SetDlgItemTextW.

Convert from UTF-8 to UCS-2 to display unicode text properly.
prevent indeterminacy by uninitialized variables

There are two issues where variables may be used unitialized:

* extract_exif_resolution fails to set xres and yres for JPEG images if
  there's no valid resolution unit (mainly affects XPS documents)

* xps_measure_font_glyph uses hadv and vadv unitialized if the glyph id
  isn't valid (i.e. if FT_Get_Advance fails)
correctly bound image mask clippings in bbox device

Same as for fz_bbox_fill_image_mask, fz_bbox_clip_image_mask must
transform the unit rectangle to get the bounding bbox.
better buffer underflow protection for ba15a8cd3238a3a3c098ad8b7d96cb0e405fc26f