build clean up
added gpio pin listeners for both input and output digital pins
added support for optional callback on GpioPin::pulse()
modified GPIO component impls to use GPIO pin events rather than simulated feedback