We're back down to a single working node, but this was a very practical
refactor.
In general, very good progress towards making #2 easy to fulfill in
its entirety.
Bugs remain:
- Category discovery has big code smells and needs smoothing. Blender
complains especially about wanting `_MT_` prefix/suffix on node
category submenu types. There's also a piece of registration logic in
category.py (big no no).
- I'd love to pass a `ruff`/`mypy` run before doubling down on node
creation, especially to help manage the complex pieces of MP logic.
- Still needs socket-bound unit-awareness feat. sympy units, before
doubling down on a data flow convention.
- Dependency management should also be smoothed out wrt. the user
experience, with cached directories exposed in addon preferences.