UART Addition

Shamelessly taken from an online implementation of a UART, looks good
but needs some rework on the reset lines and probably needs a clock
block