There was an error running `twine check` (`KeyError: 'license'`) that was
fixed by upgrading to 5.0. This version was chosen as it's the one in
the current Ubuntu LTS release.
Allows to use `python3 path/to/cli.py my args` just from source code,
without requiring to set up a whole venv for that. Much simpler when
only 'regular' debuging in code logic itself is needed.
Avoiding late imports helps to isolate Blender add-ons bundling BAT from
each other.
There was one late/lazy import to avoid a dependency cycle. This was
solved by simply copying that one tiny function.
MyPy wants some extra love nowadays, and Black needs special handling as
well. The latter is only available as beta-release, and Poetry only has "allow
pre-release versions" as global flag, installing way too many beta packages
for my taste.
This does introduce some not-so-nice things, like having to annotate each
`__init__` function with `-> None`. However, the benefits of having static
type checking in a complex bit of software like BAT outweigh the downsides.