LiquidCrystal improvements (support 16x4 displays)

This pullrequest was inspired by #55 and starts out with a cleaned up version of the main commit from that pullreq.

This allows setting custom row offsets for LCDs to support different LCD hardware configurations. Additionally, this changes the default row offsets (based on the number of columns set), so now 16x4 (and possibly others) are also supported out of the box.