make interrupt/event maps more clear

Create methods to query event/channel/interrupt mappings.
fix interrupt waiting to not retrigger event immediately
add python compatible interrupt handler base class