Initial support for subclassing native types

Probably not worth merging yet, but if you have time, I'd appreciate comments.

Unfortunately, this uncovers a bug with tests/misc/features.py, which again looks like some memory issue:

micropython: ../py/emitglue.c:155: mp_make_function_from_raw_code: Assertion `0' failed.