Use web workers to compute SHA256

A new pull requests with local branches for #473. Address/fixes #186.
OK. I will clean it away. I am just going over commits.