Added GPIO input type, and made some quick hacks to get a Makefile to compile on the BeagleBone.
Fixed some misconceptions in the first implementation of GPIO inputs, including some off-by-one errors in indexing, and a possible problem of interfacing std::vector with poll. Also changed runloop to use while loop instead of recursion, because it didn't appear g++ was performing tail-call-elimination and I was getting stack overflows.
Added a GPIO BoardWriter subclass. Currently this turns on a corresponding GPIO pin for the last direction pressed instead of actually drawing board.
Modifications to allow the program to be run in either GPIO (default) or keyboard (--keyboard) modes.