cpp driver controls thoughts

MPLAB's horrible, horrible lack of inline class definitions means we
need a workaround. #defines are the current one, but they're ugly.

alternatively we could have a dictionary/map or an enumerated vector.
we'd have to implement the map ourselves as <map> requires the heap. or
we could use a collection type specifically for these buttons/pins