modffi: Fix how we call `pkg-config`
windows: Add README with basic cross-compile instructions.
py: Small change to mp_arg_parse_all.
stmhal, SPI and I2C: Improvements to functionality and consistency.
stmhal: Improve USART class, to be more like SPI and I2C.

The three classes I2C, SPI and USART now have a fairly uniform (Python)
API.  All are constructed, initialised and deinitialised in the same
way.  They can have most of their parameters set, using keyword arguments.
All have send and recv (although slightly different with I2C requiring an
address in master mode).  recv can do inplace receiving (ie store the
data in a previously-created bytearray).

It's just polling mode at the moment, but interrupt and DMA would be
nice to add.
Merge branch 'master' of github.com:micropython/micropython
Merge pull request #513 from errordeveloper/misc_fix/modffi_pkg_config

modffi: Fix how we call `pkg-config`
stmhal: Add some documentation to I2C, SPI and USART modules.
Merge branch 'master' of github.com:micropython/micropython
py: Fix super() bug, where it didn't allow instance access.

This is a one-liner fix.  It gets the class-super.py test passing, but
is probably not a complete fix.
stmhal: Rename USART to UART.

It's really a UART because there is no external clock line (and hence no
synchronous ability, at least in the implementation of this module).
USART should be reserved for a module that has "S"ynchronous capabilities.

Also, UART is shorter and easier to type :)
stmhal: Clean up rtc.c a bit.
stmhal: Make DAC dynamically allocate instances; rename dma->write_timed.
py: Add 'align' and 'data' meta-instructions to inline assembler.
stmhal: Add Timer class: simple TIM control, incl callback on IRQ.

Simple but functional timer control.  More sophistication will
eventually be added, or for now just use direct register access :)

Also added pyb.freq() function to get MCU clock frequencies.
stmhal, timer: Remove obsolete global variable.
stmhal, servo: Rename calibrate method to calibration.

It should be a noun, since it supports getting and setting depending on
the number of arguments given.
stmhal: Make switch a class, to follow suit of all other modules.

Instead of pyb.switch() as a function, it's more consistent (with
respect to all the other modules and peripherals) to have
pyb.Switch() create a switch object.  This then generalises to having
multiple switches.  Call the object to get its state.  Use sw.callback
to set the callback function for when the switch is pressed.
stmhal, usrsw: Update comments for new switch API.
stmhal, accel: Add TODO comment.