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/menu.c b/src/menu.c
index 9ed7c27..3728aa7 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -815,7 +815,7 @@
 	    }
 	}
 #if defined(FEAT_TOOLBAR) && !defined(FEAT_GUI_W32) \
-	&& (defined(FEAT_BEVAL) || defined(FEAT_GUI_GTK))
+	&& (defined(FEAT_BEVAL_GUI) || defined(FEAT_GUI_GTK))
 	/* Need to update the menu tip. */
 	if (modes & MENU_TIP_MODE)
 	    gui_mch_menu_set_tip(menu);
@@ -1010,7 +1010,7 @@
 	{
 	    free_menu_string(menu, MENU_INDEX_TIP);
 #if defined(FEAT_TOOLBAR) && !defined(FEAT_GUI_W32) \
-	    && (defined(FEAT_BEVAL) || defined(FEAT_GUI_GTK))
+	    && (defined(FEAT_BEVAL_GUI) || defined(FEAT_GUI_GTK))
 	    /* Need to update the menu tip. */
 	    if (gui.in_use)
 		gui_mch_menu_set_tip(menu);