This apparently solves some weird issues with reading the zip file like
zlib.error: Error -3 while decompressing data: invalid block type
zlib.error: Error -3 while decompressing data: invalid distance too far back
Though it reduced the amount of times this happened, some files still
persistently refuse to be read by zipfile in parallel. In those cases,
using `-s` to force single-threading should be sufficient.
It has multiple advantages:
* It processes the images in memory, without writing intermediary files
* It supports multithreading
* It does not spawn an army of subprocesses
* It shows a better progress bar
* It is more robust