py: Implement native load for viper.

Viper can now do: ptr8(buf)[0], which loads a byte from a buffer using
machine instructions.
py: Fix x86 viper code generation, mem8 <-> mem16 for load.
py: Add module weak link support.

With this patch a port can enable module weak link support and provide
a dict of qstr->module mapping.  This mapping is looked up only if an
import fails to find the requested module in the filesystem.

This allows to have the builtin module named, eg, usocket, and provide
a weak link of "socket" to the same module, but this weak link can be
overridden if a file by the name "socket.py" is found in the import
path.
stmhal: Enable module weak links.

os, time, select modules are now prefixed with u, but are still
available (via weak links) as their original names.

ure and ujson now available as re and json via weak links.
stmhal: Rename module files to keep consistency with module name.
stmhal: Oops: rename mod files in Makefile.
moduzlib: New zlib-like module, based on uzlib.
moduzlib: Integrate into the system.
moduzlib: Import uzlib v1.1.

https://github.com/pfalcon/uzlib
Merge pull request #904 from pfalcon/moduzlib

Module "uzlib" - based on similarly named library
moduzlib: Fix fn prototype and some code style; use it in stmhal port.
windows: Enable moduzlib instead of modzlibd.
modzlibd: Remove, superceded by moduzlib.
Merge pull request #905 from pfalcon/remove-zlibd

Remove zlibd, superceded by uzlib
modure: Update to re1.5 v0.6, support for char sets/classes ([a-c]).