patch 8.2.3188: Vim9: argument types are not checked at compile time

Problem:    Vim9: argument types are not checked at compile time.
Solution:   Add several more type checks, also at runtime. (Yegappan
            Lakshmanan, closes #8587)
diff --git a/src/testing.c b/src/testing.c
index 42030d7..5b2f7af 100644
--- a/src/testing.c
+++ b/src/testing.c
@@ -1246,15 +1246,12 @@
     int		repeated_click;
     int_u	mods;
 
-    if (argvars[0].v_type != VAR_NUMBER
-	    || (argvars[1].v_type) != VAR_NUMBER
-	    || (argvars[2].v_type) != VAR_NUMBER
-	    || (argvars[3].v_type) != VAR_NUMBER
-	    || (argvars[4].v_type) != VAR_NUMBER)
-    {
-	emsg(_(e_invarg));
+    if (check_for_number_arg(argvars, 0) == FAIL
+	    || check_for_number_arg(argvars, 1) == FAIL
+	    || check_for_number_arg(argvars, 2) == FAIL
+	    || check_for_number_arg(argvars, 3) == FAIL
+	    || check_for_number_arg(argvars, 4) == FAIL)
 	return;
-    }
 
     button = tv_get_number(&argvars[0]);
     row = tv_get_number(&argvars[1]);