implement proper i2c controller and power button

Issue #15 resolved
Coto repo owner created an issue

otherwise they cause lockups on TWL ARM7 cores when any GPIO port is used, like the TWL volume buttons