full abstracted i2c driver for LPC2387