Avoid calling SetSysClock twice.
get GPIO and USART ports working.

The STM32F3DISCOVERY board would crash when setting GPIOA Pin_13 or
Pin_14 to analog mode so they are excluded in the gpio initialisation.

The USART GPIO configuration did not work when using the F10x code.  The
USART status and DMA registers are different too.
Ported some I2C code from AQ32PlusF3 which itself looked ported from the
STM32 examples.
Convert the acc readings so that the 1G value is correct.
Cobbled together some bits of code to read and format the gyro data from
the L3GD29 gyro.  Some code borrowed again from AQ32PlusF3 and the
existing MPU6050 driver.