Use web workers to compute SHA256

A new pull requests with local branches for #473. Address/fixes #186.
In fact that was the main reason why I split it into the methods (you had one). So that one does call `nextInQueue` and the other does not. But I see that further refactoring now really made it so that `nextInQueue` is called immediately after it. So yes, you are right.