* Bump Cython to 0.29.36
* Add missing new API -- timeout param to shutdown_default_executor
* Stop using the beloved, but now deprecated, 'IF'
* Explicitly qualify void-returning callback functions as `noexcept`.
* Fix test_libuv_get_loop_t_ptr to work under Python 3.12
* "Fix" the failing asyncio tests by adding a sleep() call
* Add 3.12 to CI scripts
* Stop configuring watchers for asyncio tests under 3.12+
* Add the new timeout parameter of shutdown_default_executor to typeshed
* Implement uvloop.run()
* Add pyproject.toml and update CI
Co-authored-by: Fantix King <fantix.king@gmail.com>