Fix gc_realloc to expand in place

* Issue #322
Merge pull request #334 from iabdalkader/realloc

Fix gc_realloc to expand in place
py: Small cosmetic changes to gc_realloc.
py: Add comments to new gc_realloc, it has some bugs.
py: Revert to old gc_realloc for now.
Merge branch 'master' of https://github.com/micropython/micropython
makeqstrdata: print error to stderr.
py: Wrap mpz float functions in MICROPY_ENABLE_FLOAT.
stm: Improve DAC (audio) bindings.
stm: Add udelay (delay in microseconds).
Merge branch 'master' of github.com:micropython/micropython
Implement ROMable modules.  Add math module.

mp_module_obj_t can now be put in ROM.

Configuration of float type is now similar to longint: can now choose
none, float or double as the implementation.

math module has basic math functions.  For STM port, these are not yet
implemented (they are just stub functions).
stm: Wrap some functions in MICROPY_ENABLE_FLOAT.
stm: Put pyb module in ROM.
unix: Make usage info reflect actual usage of -X option.
py: Fix printing of type name.
py: Make objstr support buffer protocol (read only).
stm: Add DMA support to Audio object.
Merge branch 'master' of https://github.com/micropython/micropython