Why not just run JVM or .net bytecode in browser? In that case we could benefit from infrastructure of these platforms and already implemented interpreters