patch 8.1.1300: in a terminal 'ballooneval' does not work right away

Problem:    In a terminal 'ballooneval' does not work right away.
Solution:   Flush output after drawing the balloon.  Add the <Ignore> key
            code.  Add a test.
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index 07e6648..1e9d18e 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -229,6 +229,9 @@
 static timer_T	*first_timer = NULL;
 static long	last_timer_id = 0;
 
+/*
+ * Return time left until "due".  Negative if past "due".
+ */
     long
 proftime_time_left(proftime_T *due, proftime_T *now)
 {
@@ -445,7 +448,11 @@
 		balloonEvalForTerm = TRUE;
 	    }
 	    if (balloonEval != NULL)
+	    {
 		general_beval_cb(balloonEval, 0);
+		setcursor();
+		out_flush();
+	    }
 	}
 	else if (next_due == -1 || next_due > this_due)
 	    next_due = this_due;