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.vim b/src/testdir/test_balloon.vim
index abf7d69..793eb3a 100644
--- a/src/testdir/test_balloon.vim
+++ b/src/testdir/test_balloon.vim
@@ -1,11 +1,12 @@
 " Tests for 'balloonevalterm'.
+" A few tests only work in the terminal.
 
-if !has('balloon_eval_term')
-  throw 'Skipped: balloon_eval_term feature missing'
+if has('gui_running')
+  throw 'Skipped: only work in the terminal'
 endif
 
-" A few tests only work in the terminal.
-if !has('gui_running')
+source check.vim
+CheckFeature balloon_eval_term
 
 source screendump.vim
 if !CanRunVimInTerminal()
@@ -56,24 +57,3 @@
   call StopVimInTerminal(buf)
   call delete('XTest_beval_visual')
 endfunc
-
-endif
-
-" Tests that only work in the GUI
-if has('gui_running')
-
-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
-
-endif