Yet another LiquidCrystal_I2C library

As I mentioned, the library can work with custom i2c shields.

LiquidCrystal_I2C lcd(PCF8574_ADDR_A21_A11_A01, 4, 5, 6, 16, 11, 12, 13, 14, POSITIVE);

Where LCD pin no.4 connected to PCF8574 port P0 (pin 4), LCD pin no.5 connected to PCF8574 port P1 (pin 5),
LCD pin no.6 connected to PCF8574 port P2 (pin 6), LCD pin no.16 connected to PCF8574 port P3 (pin 7) and etc

for example if for some reason the LCD pin no.4 connected to PCF8574 port P7 (pin 12) and LCD pin no.14 connected to PCF8574 port P0 (pin 4). Your initialization string will be:

LiquidCrystal_I2C lcd(PCF8574_ADDR_A21_A11_A01, 14, 5, 6, 16, 11, 12, 13, 4, POSITIVE);

The library was almost finished a while ago, the real trick for me was to make it work with any custom shields.