py: Add support for _ in REPL to hold last computed value.

Only available when MICROPY_CAN_OVERRIDE_BUILTINS is enabled.
diff --git a/py/modbuiltins.c b/py/modbuiltins.c
index 1f33ab7..45fb3ff 100644
--- a/py/modbuiltins.c
+++ b/py/modbuiltins.c
@@ -416,6 +416,10 @@
         mp_obj_print_helper(&mp_plat_print, o, PRINT_REPR);
         mp_print_str(&mp_plat_print, "\n");
         #endif
+        #if MICROPY_CAN_OVERRIDE_BUILTINS
+        mp_obj_t dest[2] = {MP_OBJ_SENTINEL, o};
+        mp_type_module.attr((mp_obj_t)&mp_module_builtins, MP_QSTR__, dest);
+        #endif
     }
     return mp_const_none;
 }
diff --git a/py/qstrdefs.h b/py/qstrdefs.h
index dcde1b5..161d231 100644
--- a/py/qstrdefs.h
+++ b/py/qstrdefs.h
@@ -35,6 +35,7 @@
 
 Q()
 Q(*)
+Q(_)
 Q(__build_class__)
 Q(__class__)
 Q(__doc__)