Add libopencm3 submodule
Build against libopencm3 submodule tree by default
usb: Rework configuration change notification
Bump libopencm3
Fix NVIC interrupt macro names

In libopencm3 master the NVIC macros are prefixed with NVIC_ not
NVIC_M4_
Ensure that LPC43XX is defined for libopencm3
A few more changes due to the libopencm3 merge
firmware/: Use uint32_t instead of u32
firmware/: Update #includes for libopencm3 merge
Bump libopencm3