Bit-bang the I2C protocol on any 2 GPIO pins on any system. A general purpose I2C wrapper library which can use the Wire library or bit-bang the I2C prototcol on any GPIO pins. Includes a function to identify common I2C devices and special optimizations for AVR devices to allow clock speeds which meet or exceed normal I2C speeds.