ZeissZVIReader: ROI strings are UTF-16 little endian
ZeissZVIReader: Handle NULL labels

Also seek 4 bytes rather than 6 after the label, or else you end
up in missing the SourceTag and losing the correct position in the
stream.
ZeissZVIReader: Handle presence of Layer names

The layer name is typically absent, but some layers have names.
Cope with non-null layer names.
ZeissZVIReader: Fix detection of label string offset

There may be a 2 byte pad between the end of the ShapeAttrs
block and the start of the Label string.  And the string
may or may not be null, making it difficult to detect
reliably.  We allow for a fuzzy match at 0 or 2 bytes after
the end of the ShapeAttrs.  This padding is typically
only found in the initial Shape, and missing in subsequent
shapes.
ZeissZVIReader: Debug logging strings use {} to avoid StringBuilder overhead
Merge pull request #476 from rleigh-dundee/zvi-roi-missing-develop

ZVI ROI fixes (develop)