Interrupt support

This change introduces simulated interrupt support. At this time the software stack does not support
hardware interrupts. This change simulates the interrupts by polling.
Odd; I thought I updated this already. this should be switch(mode)