mp_obj_equal(): Instead of assert(), throw NotImplementedError.

With a nice traceback, helps debugging much better.
diff --git a/py/obj.c b/py/obj.c
index e3e9dbf..4e0184a 100644
--- a/py/obj.c
+++ b/py/obj.c
@@ -132,9 +132,9 @@
                 return r == mp_const_true ? true : false;
             }
         }
-        // TODO: Debugging helper
-        printf("Equality for '%s' and '%s' types not yet implemented\n", mp_obj_get_type_str(o1), mp_obj_get_type_str(o2));
-        assert(0);
+
+        nlr_jump(mp_obj_new_exception_msg_varg(MP_QSTR_NotImplementedError,
+            "Equality for '%s' and '%s' types not yet implemented", mp_obj_get_type_str(o1), mp_obj_get_type_str(o2)));
         return false;
     }
 }