py/compile: When compiling super(), handle closed-over self variable.

The self variable may be closed-over in the function, and in that case the
call to super() should load the contents of the closure cell using
LOAD_DEREF (before this patch it would just load the cell directly).
diff --git a/py/compile.c b/py/compile.c
index 2fbc19c..1e49a35 100644
--- a/py/compile.c
+++ b/py/compile.c
@@ -2190,9 +2190,10 @@
         compile_load_id(comp, MP_QSTR___class__);
         // look for first argument to function (assumes it's "self")
         for (int i = 0; i < comp->scope_cur->id_info_len; i++) {
-            if (comp->scope_cur->id_info[i].flags & ID_FLAG_IS_PARAM) {
+            id_info_t *id = &comp->scope_cur->id_info[i];
+            if (id->flags & ID_FLAG_IS_PARAM) {
                 // first argument found; load it and call super
-                EMIT_LOAD_FAST(MP_QSTR_, comp->scope_cur->id_info[i].local_num);
+                compile_load_id(comp, id->qst);
                 EMIT_ARG(call_function, 2, 0, 0);
                 return;
             }