windows: Sync mpconfigport.h with the unix' version

- rearrange/add definitions that were not there so it's easier to compare both
- use MICROPY_PY_SYS_PLATFORM in main.c since it's available anyway
- define EWOULDBLOCK, it is missing from ingw32
modffi: Support short types.
gendoc.py: Support modules w/o functions and/or classes.

I.e. don't assume that both are always present.
Merge pull request #730 from stinos/windows-mpconfig

windows: Sync mpconfigport.h with the unix' version
stmhal: pyb.adc: Clarify that buffer with elements of any size can be used.

Based on forum post: http://forum.micropython.org/viewtopic.php?f=6&t=193
py: Improvements to native emitter.

Native emitter can now compile try/except blocks using nlr_push/nlr_pop.
It probably only works for 1 level of exception handling.  It doesn't
work on Thumb (only x64).

Native emitter can also handle some additional op codes.

With this patch, 198 tests now pass using "-X emit=native" option to
micropython.