🚀 New
* `Drift()` can now be initialised with `lock=False` which will disable the locking of the client while the context manager is used. In this mode, multiple concurrent connections to the client are allowed.
* Added `Drift.read_devices()` which allows reading multiple devices concurrently with only one connection to the client.
* `Drift.devices` returns a list of all connected devices.
✨ Improved
* `Module` does not require to pass a number of channels anymore. In fact the number of channels is never used so it may be deprecated in the future.
* Add poetry dependency groups.