Lite: Websocket queueing (#5124)
* Create a Wasm-emulated WebSocket connection and fix @gradio/client to inject it
* Explicitly set the default response class for the Wasm mode
* add changeset
* Fix is_self_origin() to compare only hosts and rename it to is_self_host()
* Fix Blocks.close() to cancel async tasks in the case of Wasm and call it from wasm_utils.register_app() to dispose an old app instance
* Update comment
* Hold the asyncio.Task objects and cancel them at `Blocks.close()`
* Add try-except to handle the case where `events` is not set to `queue.active_jobs` when `queue.process_events` is called
* Format queueing.py
---------
Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>