Uart

Need to merge it into master to branch to work on task killer
I agree about memory usage - but taking 30B of static memory on heap is not a problem, and having a printf() function will be a great helper.