Fixed compatibility with latest libopencm3

u{8,16,32} is no longer 'typedef'ed, so has been substituted for uint{8,16,32}_t
flash_program_byte no longer needs the FLASH_CR_PROGRAM_X8 argument (http://libopencm3.github.io/docs/latest/stm32f4/html/flash__common__f24_8c.html#aecb2ef6a6334477e36fceed302b1ab6d)
ADC_SMPR1_SMP_1DOT5CYC has been renamed to ADC_SMPR_SMP_3CYC (https://github.com/libopencm3/libopencm3/pull/158)
ADC_SMPR1_SMP_7DOT5CYC has been renamed to ADC_SMPR_SMP_15CYC (https://github.com/libopencm3/libopencm3/pull/158)
usbd_init now requires a control buffer, which we don't use