patch 8.1.1544: some balloon tests don't run when they can

Problem:    Some balloon tests don't run when they can.
Solution:   Split GUI balloon tests off into a separate file. (Ozaki Kiichi,
            closes #4538)  Change the feature check into a command for
            consistency.
diff --git a/src/testdir/test_balloon_gui.vim b/src/testdir/test_balloon_gui.vim
new file mode 100644
index 0000000..fd01309
--- /dev/null
+++ b/src/testdir/test_balloon_gui.vim
@@ -0,0 +1,22 @@
+" Tests for 'ballooneval' in the GUI.
+
+if !has('gui_running')
+  throw 'Skipped: only works in the GUI'
+endif
+
+source check.vim
+CheckFeature balloon_eval
+
+func Test_balloon_show_gui()
+  let msg = 'this this this this'
+  call balloon_show(msg)
+  call assert_equal(msg, balloon_gettext())
+  sleep 10m
+  call balloon_show('')
+
+  let msg = 'that that'
+  call balloon_show(msg)
+  call assert_equal(msg, balloon_gettext())
+  sleep 10m
+  call balloon_show('')
+endfunc