I2C in C driver for Microchip PIC32, PIC24 and PIC18