Software I2C implementation for Arduino and other Wiring-type environments