Pythnon 3.11 introduced the concept of cancelling
https://docs.python.org/3/library/asyncio-task.html#asyncio.Task.cancelling
Once a task is being cancelled we should no longer block waiting
for it.
Fixes
```
2023-05-19 18:52:49.856 WARNING (MainThread) [homeassistant.core] Shutdown stage 0: still running: <Task cancelling name='c200 background pull messages' coro=<PullPointManager._async_pull_messages() running at /usr/src/homeassistant/homeassistant/components/onvif/event.py:354> wait_for=<Future cancelled> cb=[set.remove(), set.remove()]>
2023-05-19 18:52:49.858 WARNING (MainThread) [homeassistant.core] Shutdown stage 0: still running: <Task cancelling name='HD-IPC background pull messages' coro=<PullPointManager._async_pull_messages() running at /usr/src/homeassistant/homeassistant/components/onvif/event.py:354> wait_for=<Future cancelled> cb=[set.remove(), set.remove()]>
2023-05-19 18:52:49.859 WARNING (MainThread) [homeassistant.core] Shutdown stage 0: still running: <Task cancelling name='e1 reolink background pull messages' coro=<PullPointManager._async_pull_messages() running at /usr/src/homeassistant/homeassistant/components/onvif/event.py:354> wait_for=<Future cancelled> cb=[set.remove(), set.remove()]>
2023-05-19 18:52:49.860 WARNING (MainThread) [homeassistant.core] Shutdown stage 0: still running: <Task cancelling name='Amcrest background pull messages' coro=<PullPointManager._async_pull_messages() running at /usr/src/homeassistant/homeassistant/components/onvif/event.py:354> wait_for=<Future cancelled> cb=[set.remove(), set.remove()]>
2023-05-19 18:52:49.860 WARNING (MainThread) [homeassistant.core] Shutdown stage 0: still running: <Task cancelling name='LC background pull messages' coro=<PullPointManager._async_pull_messages() running at /usr/src/homeassistant/homeassistant/components/onvif/event.py:354> wait_for=<Future cancelled> cb=[set.remove(), set.remove()]>
2023-05-19 18:52:49.861 WARNING (MainThread) [homeassistant.core] Shutdown stage 0: still running: <Task cancelling name='flux_led-discovery' coro=<async_setup.<locals>._async_discovery() running at /usr/src/homeassistant/homeassistant/components/flux_led/__init__.py:97> wait_for=<_GatheringFuture pending cb=[Task.task_wakeup()]> cb=[set.remove(), set.remove()]>