rewrite serial/uart code in simulator to support multi-uarts
fix bug in simulator/drivers/serial.c which deadlock may happen if multi-uart both output use printf
clean code in simulator/drivers/serial.c
add declaration in simulator/drivers/usart_sim.c