The engine now works well, albeit with a 80% overhead for single SHA-256 streams. This is my next problem to solve (profiling).
Finished smoothing out the performance kinks. Got 17.03 cycles/byte (max possible 14.89 cycles/byte, + 2.14) for single stream SHA-256, and 1.854 cycles/byte for eight threads of 4-SHA256. Basically the async thread and SIMD scheduling engine adds 2 cycles/byte, a win for big hashes like SHA but almost certainly a penalty for fast hashes like Spooky and City which can deliver 0.2 cycles/byte. I think for my Spooky and City Hash combo there is actually no point in using an async engine, the time taken just to go through a job creation and wait on future is surprisingly much.