stmhal: Add CDC+HID USB device.

The HID device must appear before the CDC in order for both to work at
the same time.

Whilst the code is working, it's not currently used.
Merge branch 'master' of github.com:micropython/micropython
stmhal: Implement selector for USB device mode; improve boot up.

Can now choose at boot up whether the USB device is CDC+MSC or CDC+HID.
Choice is made by an option in boot.py, with default being CDC+MSC.
HID+MSC is not currently supported, but should be easy to implement.

Boot up now has ability to change the reset mode: hold down USR switch
while booting and LEDs will count from 1 to 7 to indicate the boot mode.
Release USR when correct mode is selected.  Current modes are 1 (normal
boot), 2 (safe mode), 3 (reset FS mode).
Merge branch 'master' of github.com:micropython/micropython