patch 8.0.1312: balloon_show() only works in terminal when compiled with GUI

Problem:    balloon_show() only works in terminal when compiled with the GUI.
Solution:   Add FEAT_BEVAL_GUI and refactor to move common code out of the GUI
            specific file.
diff --git a/src/gui_motif.c b/src/gui_motif.c
index 7e80b7f..dc167c9 100644
--- a/src/gui_motif.c
+++ b/src/gui_motif.c
@@ -1360,7 +1360,7 @@
 	if (xms != NULL)
 	    XmStringFree(xms);
 
-# ifdef FEAT_BEVAL
+# ifdef FEAT_BEVAL_GUI
 	gui_mch_menu_set_tip(menu);
 # endif
 
@@ -1509,7 +1509,7 @@
     ui_new_shellsize();
 }
 
-#if defined(FEAT_BEVAL) || defined(PROTO)
+#if defined(FEAT_BEVAL_GUI) || defined(PROTO)
     void
 gui_mch_new_tooltip_font(void)
 {
@@ -1566,7 +1566,7 @@
 		    n = add_pixmap_args(mp, args, n);
 		    XtSetValues(mp->id, args, n);
 		}
-# ifdef FEAT_BEVAL
+# ifdef FEAT_BEVAL_GUI
 		/* If we have a tooltip, then we need to change it's font */
 		if (mp->tip != NULL)
 		{
@@ -1584,7 +1584,7 @@
 	    else
 	    {
 		gui_motif_menu_fontlist(mp->id);
-#ifdef FEAT_BEVAL
+#ifdef FEAT_BEVAL_GUI
 		/* If we have a tooltip, then we need to change it's font */
 		if (mp->tip != NULL)
 		{
@@ -1642,7 +1642,7 @@
 	Widget	    parent;
 
 	parent = XtParent(menu->id);
-#if defined(FEAT_TOOLBAR) && defined(FEAT_BEVAL)
+#if defined(FEAT_TOOLBAR) && defined(FEAT_BEVAL_GUI)
 	if (parent == toolBar && menu->tip != NULL)
 	{
 	    /* We try to destroy this before the actual menu, because there are
@@ -1703,7 +1703,7 @@
 	gui.menu_bg_pixel = gui.menu_def_bg_pixel;
 	gui.scroll_fg_pixel = gui.scroll_def_fg_pixel;
 	gui.scroll_bg_pixel = gui.scroll_def_bg_pixel;
-#ifdef FEAT_BEVAL
+#ifdef FEAT_BEVAL_GUI
 	gui.tooltip_fg_pixel =
 			gui_get_color((char_u *)gui.rsrc_tooltip_fg_name);
 	gui.tooltip_bg_pixel =