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.
py: Use sequence of strings for named tuple initialization

- remove single string initialization style
- take list of strings instead
- store list in the type for fast lookup
py: Allow keyword arguments for namedtuple