cpp: tiff: Add checks for size typedefs

Add compatibility typedefs if absent.
cpp: IFD: Use uint16_t rather than dimension_size_type for NumberOfChannels

The types used by clang++ don't allow dimension_size_type in
MetadataMap (even though it should be permitted).
wip
wip2