py/inlineasm: Add ability to specify return type of asm_thumb funcs.

Supported return types are: object, bool, int, uint.

For example:

@micropython.asm_thumb
def foo(r0, r1) -> uint:
    add(r0, r0, r1)
diff --git a/py/emitglue.c b/py/emitglue.c
index 949a66b..4157593 100644
--- a/py/emitglue.c
+++ b/py/emitglue.c
@@ -162,7 +162,7 @@
         #endif
         #if MICROPY_EMIT_INLINE_THUMB
         case MP_CODE_NATIVE_ASM:
-            fun = mp_obj_new_fun_asm(rc->n_pos_args, rc->data.u_native.fun_data);
+            fun = mp_obj_new_fun_asm(rc->n_pos_args, rc->data.u_native.fun_data, rc->data.u_native.type_sig);
             break;
         #endif
         default: