STM32: UartHAL: Restructured initialization

setBaudrate used to do all the initialization.
The code for clock initialization has been moved to an enable/disable
method (similar to the Timer peripheral).
The constructor was replaced by an initialize function because
there is no need for instanciating this class.
The initialize function basically handles what used to be done
by the setBausrate function.
setBaudrate now only does what it says it does: setting the Baudrate.