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 #486 from rleigh-dundee/zvi-roi-missing2

ZeissZVIReader: Fix detection of label string offset