stmhal: Add documentation in comments, and script to generate HTML.

Decided to write own script to pull documentation from comments in C code.
Style for writing auto generated documentation is: start line with ///
and then use standard markdown to write the comment.  Keywords
recognised by the scraper begin with backslash.  See code for examples.

Running: python gendoc.py modpyb.c accel.c adc.c dac.c extint.c i2c.c
led.c pin.c rng.c servo.c spi.c uart.c usrsw.c, will generate a HTML
structure in gendoc-out/.

gendoc.py is crude but functional.  Needed something quick, and this was
it.
stmhal: Oops, typo.
nlr.h: As we treat all warnings as errors, can't use #warning.

And this is not good.
py: If setjmp NLR implementation is forced, omit native versions.
py: Abstract no-return attribute for functions a bit.
objfun: Factor out function to report positional args mismatch.
Make MicroPython compile with Visual Studio 2013

These are mostly minor changes to accomodate for what the MS compiler can't do,
and for what the Windows SDK doesn't have.
Note this is purely about compilation, no guarantees for what happens at runtime.
Changes include:
- can't have zero-sized arrays in a struct, so define the size based on compiler
- can't have variable-length arrays on the stack, use malloc/free
- fix for some weird CL bug (see mpz.c)
Convert slashes in main()'s argument to unix-style ones, else nothing runs
Fix floating point formatting

- default output format has 3 digits for the exponent, Python wants 2
- provide a platform specific function MICROPY_INIT_FUNC to allow
  setting such behaviour once at the start of the program
- MS snprintf implementation does not know %F so use %f instead
Do not allow calling read() on a closed file descriptor

This fixes the io/file-with.py test
Add a README file