Add support for I2C interface

Hi,
I bought an SSD1306-based OLED display on ebay and it only pins-out the I2C interface. Using your code as a starting point I hacked in I2C support and then merged my changes back so that the code supports either I2C or SPI. I hope you will accept my changes back into your repository so that it can act as a single location for SSD1306 support on the micropython board.

I'm a new Python programmer and a github newbie also so tell me if I have made any protocol errors here.
regards,
Neal.