stmhal: Activate bootloader with pyb.bootloader()

Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
stmhal: Remap system flash and adjust addresses

Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
Merge pull request #618 from swegener/jump-to-bootloader

Jump to bootloader
stmhal: Make pyb.bootloader take no arguments.
stmhal: Fix write_timed function for DAC(2).

Addresses issue #617.
stmhal: Fix DAC documentation: need to convert float to int for buf.
objtype: Separate __new__ and __init__ methods.

Now schedule is: for native types, we call ->make_new() C-level method, which
should perform actions of __new__ and __init__ (note that this is not
compliant, but is efficient), but for user types, __new__ and __init__ are
called as expected.

Also, make sure we convert scalar attribute value to a bound-pair tight in
mp_obj_class_lookup() method, which avoids converting it again and again in
its callers.
tests: Update subclass-native2.py for __new__/__init__ refactor.

Now case of subclassing tuple works, and list is broken, see comments.
objexcept: Implement explicit __init__ method, useful for subclasses.
py: Implement proper separation between io.FileIO and io.TextIOWrapper.

io.FileIO is binary I/O, ans actually optional. Default file type is
io.TextIOWrapper, which provides str results. CPython3 explicitly describes
io.TextIOWrapper as buffered I/O, but we don't have buffering support yet
anyway.
qemu-arm: Disable "io" module.
py: Fix use of uninitialized variable introduced in df94b71
Add compilation as C++ and sample micropython-wrap usage implementation