Multithreaded support for Cleopatra

Opening this pull request to get feedback. Histogram rendering and selection works.

There are a few smaller things that still need to be done (use of requestAnimationFrame, visual effects, etc.) and I'm sure there are things I forgot to implement when rewriting code because there were no docs or unit tests for me to check against.