refactored to split modules renamed to match upstream docs slight improvement to slave error handling
Move i2c to mod, split device and controller Remove mode generic: I don't think it's reasonable to use the i2c in device mode while blocking, so I'm cutting the generic.