Compiles and almost runs on Windows

Blocked on not being able to pass JS callbacks across threads.
Note: This definitely breaks *nix implementations, will need to refactor