I rewrote the whole runtime in CoffeeScript. I'm basically using the exact same C# data files, I simply wrote the equivalent of the .NET BinaryReader in JS (using the recent ArrayBufferView WebGL typed array thing) to read back my binary project & asset files. I then use Lua.js (https://github.com/mherkender/lua.js/) to convert the Lua scripts into JS at load time and mrdoob's Three.js (threejs.org) to render it all.