abstracted gpio configuration using typedef-ed enums. added pin interrupt callback stuff
overloaded operator= to allow stuff like "pin = 1;"