ImageIO Format TIFF: use scanline-based I/O. Fixes #10230

Also do check for TIFFWriteScanline return code and abort on first error.

As for TIFFTAG_ROWSPERSTRIP: (from specs)
Choose RowsPerStrip such that each strip is about 8K bytes, even if the data is not compressed, since it makes buffering simpler for readers. The 8K value is fairly arbitrary, but seems to work well.
That means,
	StripSize = 8 Kbyte
	RowSize = WIDTH pixels * 3 * X bit/pixel
	RowsPerStrip = roundf(StripSize / RowSize)
And in 99%, RowsPerStrip is 1.

(cherry picked from commit 044439e8b772f349ed0dd3bd61b2eb553e71f4d1)