* implemented more functions
* backup
* Improve demo site
* Formatting; move the `+ '\n'` hack to eval().
* Rename run_code() to run_from_textbox()
* Switch to using json.dumps for py_to_js()
* Clarify names of wasm builtins
* Remove dependency on num_bigint
* Allow injecting JS variables into python with eval_py()
eval_py(`return js_vars["a"]`, { a: 9 }) == 9
* dict() now should work properly
e.g.
``` dict(a=2, b=3) == {"a": 2, "b": 3} ```
* Add documentation for eval_py() and update error message handling
Also, switch from iterating over the values of js_injections and
serializing each of them individually to asserting it's an object and
then just stringifying the whole thing.
* Finish revamping `dict_new()`
* Add 'from x import *' syntax.
This is a separate opcode in CPython so I added it as such here.
* Add test for dicts
* added functions
* ran rustfmt and fixed isidentifier
* fixed zfill and make_title
* python3.6 doesn't contain isascii()