- Make WindowsI2cDevice/LinuxI2cDevice single non-abstract class I2cDevice
I2cDevice.Create => new I2cDevice()
open questions:
- should we have II2cDevice interface or rather have I2cDevice be unsealed
- personally leaning toward no interface because we won't be able to add any APIs to I2cDevice after we do that and ship - on the other hand lack of clear abstraction is weird - perhaps we should have I2cDevice as is and have GenericI2cDevice
- should we do similar changes for drivers (libgpiod/sysfs/...)
cc: @joperezr @shaggygi @ZhangGaoxing