LCD display support

Everything works on an LCD 16x2 display with i2c backpack, except for the backlight.

Example:

```
Cylon = require('cylon')

Cylon.robot
  connection:
    name: 'arduino', adaptor: 'firmata', port: '/dev/ttyACM0'

  device:
    name: 'lcd', driver: 'lcd'

  work: (my) ->
    my.lcd.on 'start', ->
      my.lcd.print "Hello, world!"
      
      i = 0
      after 2.seconds(), ->
      	my.lcd.clear()
      
      	every 1.second(), ->
      	  my.lcd.setCursor 0, 0
      	  my.lcd.print "#{i++}"

.start()
```