Emscripten has pthreads. You can multithread it yourself using web workers and shared memory. What's missing?