* chore: replace `js_str` with `js_string`
* chore: replace `boolean`'s `to_string` with literal
* chore: remove unnecessary `to_string`
* chore: fix lint and format
* chore: add feature gate to import `js_str`
* chore: change `get_typed_fn`'s name to `JsString`
* chore: replace js_str with js_string(cli)
* chore: replace js_str with js_string(`try_into_js`)
* chore: replace js_str with js_string(`Console`)
* chore: fix lint
* perf: use more efficient `LazyLock` on `RAW_STATICS_CACHE`
* chore: move `js_str` together with other imports
* Add a URL class (with caveats)
Some methods are NOT currently supported (some don' make sense
outside of a browser context). They are still implemented but
will throw a JavaScript Error.
Supported methods should follow the specification perfectly.
* Adding tests and using url::quirks for simpler getters/setters
* clippies
* Address comments
This is not backward compatible but should have minimal impact.
This is also more future proof by passing the ConsoleState
which is more opaque and allows us to update the way the
console object is constructed and passed.
* Remove leftover eprintln from JsPromise::await_blocking
* Add clippy for denying print and eprints
And remove usage of println or allow them.
* Address comment