stmhal: Fix pin af definition: TIM2_CH1_ETR -> TIM2_CH1/TIM2_ETR.
stmhal: Use stream's readinto.
py: Use mp_uint_t where appropriate in stream functions.
py: Fix debug-printing of bytecode line numbers.

Also move the raw bytecode printing code from emitglue to mp_bytecode_print.
py: Improve memory usage debugging; better GC AT dumping.

In unix port, mem_info(1) now prints pretty GC alloc table.
USB CDC ACM: populate bFunction{Class,SubClass,Protocol} in the interface association descriptor
stmhal: Fill in USB class/subclass/proto for CDC+HID device.

Also change HID device from keyboard to mouse (should have been mouse
all along).
stmhal: Change fresh boot.py and main.py to use \r\n newlines.

This is so it's compatible with Windows.
unix: Allow -X heapsize= option take numbers with K & M suffixes.

For kilobytes and megabytes respectively.
py: mp_builtin___import__(): Add const to arg type.
py: Factor out mp_obj_is_package() function.
unix: Implement -m option (execute module from stdlib).

Support for packages as argument not implemented, but otherwise error and
exit handling should be correct. This for example will allow to do:

pip-micropython micropython-test.pystone
micropython -m test.pystone