Split reduction and preview threads into separate files.
Have reduction and preview threads sleep until needed.
Tweak simulated framedata to provide a target for reduction.
Workaround simulated timer failing on minute boundary.