Uncouple UART from POSIX

`uart0` is a far more basic module than `posix`.
The latter one pulls in dependencies to `vtimer`, to give an example.

This change uncouples `uart0` from `posix`. The uart0 module now depends
on `pipe_t`, which also disemploys the costly message passing for every
keystroke.

There is a subtle change in here which must not be overlooked:
- `pipe_t` does not accept characters once it is full.
- The prior loop overwrote the oldest data.

Since the new behavior is more of what a user would expect, I'd dare to
call this a bug fix.