Revert "Revert "Complete support for GPIO interrupts.""

This reverts commit 4c1838707b0b24c372b1ab173ed8ab8e48cc8bca.