windows: Correctly interpret skipped tests, enable uhashlib and ubinascii
run-tests: Allow to run testuite against Windows build on Linux (using Wine).

Just adjust line-endings of micropython.exe output, the rest should be
handled by Wine (automagically on properly configured distro).

To run:

MICROPY_MICROPYTHON=../windows/micropython.exe ./run-tests
py: Save a few code bytes in parser; make vars local where possible.
tools, pyboard.py: Write data to pyboard in chunks of 256 bytes.

This speeds up writes significantly.
py: Add blank and ident flags to grammar rules to simplify parser.

This saves around 100 bytes code space on stmhal, more on unix.
py: Remove unnecessary RULE_none and PN_none from parser.
stmhal: Include MICROPY_HAL_H only if defined.

Helps other ports.
stmhal: Use gc_dump_info() function instead of adhoc code.
stmhal: gccollect.h is superfluous in many places.
docs: Add custom CSS file, with code for admonition.
docs: Add RTD local_settings file, to add custom templates.
py: Fix iteration over map in 2 places.
py: Move global/nonlocal decl code to compiler for proper SyntaxError.

This patch gives proper SyntaxError exceptions for bad global/nonlocal
declarations.  It also reduces code size: 304 bytes on unix x64, 132
bytes on stmhal.
py: Remove last uses of printf from compile; use proper SyntaxError.
py: Use str_to_int function in more places to reduce code size.