Added stream-like uart_data_available() and uart_read() functions