algo/fifo: alleviate volatile pointer cast warnings
io/uart: check for initialized state in public functions
io/uart: add uart_avail prototype to header
io/uart: turn on UDRE interrupt only when wanted
io/uart: add fifo and interrupt count debug code