Overhaul of Lua <-> JS interface

I rewrote the Lua <-> JS interop to use userdata;
You can now send arbitrary objects between languages; and without use of `eval()`