slow - but working - IRQ based uart/button driver.