After upgrading `pytest-asyncio` to the latest version, lots of tests
started failing in CI only on Python 3.9:
`RuntimeError: There is no current event loop in thread 'MainThread'`
Apparently these tests may have only been passing previously due to
issues in earlier versions of `pytest-asyncio`. Changing these tests to
async seems to fix the failures on Python 3.9.
Related issue:
https://github.com/pytest-dev/pytest-asyncio/issues/1039
This encourages importing it from `textual.widgets.tree` instead, keeping it
in line with the other changes made for #1637.
Note this is a breaking change.
There's going to be a whole bunch of tests relating to the Tree and TreeNode
coming, let's make sure this ends up being fairly granular.
(side thought: it might be a good time soon to revisit all the tests for
Textual and try and wrangle them into some tidy structure)