[WASM branch] Better JS FFI
This improves the JS FFI a bit to make it able to better handle some
practical cases of interest, as well as fixing some bugs. In particular
the `@jscall` macro has been renamed to @js and now supports on the flag
construction of JavaScript objects, using a JS-like syntax, e.g.
```julia
obj = @js {some: "value:, hello: "world"}
@js console.log(obj)
```
An example where this is useful is e.g. in making a HTTP request using
fetch:
```julia
@js fetch("https://github.com", {mode: "no-cors"})
```