Handle FIFO images

Use imageX and imageY rather than scanX and scanY for
FIFO Image Mode data.  See Paul Barber's gm-dtt_c1.sdt
and lamintosend.sdt.
SDTFormat: improve Csarseven, FIFO support

Just checking number of data blocks for csarseven is not sufficient.
FIFO data also has multiple data blocks, but in that case the data
blocks are complete planes, and not one block per pixel.

Added a first check for FIFO datasets which seeks to the requested data
block. Then the csarseven block runs as normal, to ensure cropping is
handled properly and the rows are read in the correct order.

The channel calculations have been updated accordingly so that both
Csarseven and FIFO datasets should report the correct number of
channels. Modified based on Paul Barber's import code (multiplying
scanRX and scanRY, or imageRX and imageRY, instead of adding). For FIFO
datasets, the channel count is also multiplied by the number of data
blocks.