Calculate hash digests on a per plane basis (Fixes #10073)

There are some edge cases, such as electron microscopy, where the stack
size is huge.  Often 1000's of planes, which causes the byte size of a
timepoint to be larger than 2.1GB.  As the hash digest algoritms we use
are CPU limited anyway there is very little justification for reading
the entire timepoint anyway.  Calculating it on a per plane basis is
much safer and should have no performance implications at all.

To test we need to import a file with a stack size <2.1GB and a file with a stack size >2.1GB. It would also be a good idea to compare the import performance of the former before and after.