TIFFDeferStrileArrayWriting() is an advanced writing function that must be used in a particular sequence,
and generally together with TIFFForceStrileArrayWriting(), to achieve its intended effect. Their aim is
to control when and where the StripOffsets / StripByteCounts or TileOffsets / TileByteCounts arrays are
written into the file.
The purpose of this is to generate 'cloud-optimized geotiff' files where the first KB of the file only
contain the IFD entries without the potentially large strile arrays. Those are written afterwards.
More precisely, when TIFFWriteCheck() is called, the tag entries for those arrays will be written with
type = count = offset = 0 as a temporary value.
Its effect is only valid for the current directory, and before TIFFWriteDirectory() is first called, and
will be reset when changing directory.
The typical sequence of calls is:
TIFFOpen()
/* or TIFFCreateDirectory(tif) */
/* Set fields with calls to TIFFSetField(tif, ...) */
TIFFDeferStrileArrayWriting(tif)
TIFFWriteCheck(tif, ...)
TIFFWriteDirectory(tif)
/* ... potentially create other directories and come back to the above directory */
TIFFForceStrileArrayWriting(tif) /* emit the arrays at the end of file */