completed the USART read/write functions

(1)Added the Mutex to protect the buffer of the receiving byte
(2)Renamed, Added the full USART read/write functions
(3)Impoved the writting skills
    |- Initialize the callback functions by a dedicated function
    |- Using C99 style initialization for structure