Add initial button support

This merge adds support for short and long button presses. It also updates the web interface to support pressing the buttons on the pebble image or arrow keys to trigger button presses.

There are also a few random fixes to byte array support and text background painting.