Use new `Bound` API of `pyO3`
We use the pyO3 crate for implementing Python nodes and operators. The upcoming v0.21 release will feature a new "Bound" API, which enables better control over the lifetimes of GIL-references, while also improving performance. It also solve https://github.com/PyO3/pyo3/issues/1056, which we encountered in dora.
Right now v0.21 is still in beta, but we should try to migrate dora to the new Bound API once the stable is out.
(Maybe it will even allow us to bring back runtime nodes with multiple Python operators?)
I think this could solve one of the issues with drop tokens reporting at the end of running dataflows.
https://github.com/PyO3/pyo3/releases/tag/v0.21.0
0.21 has been released!