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/ui.c b/src/ui.c
index d370ad4..1b2b3c5 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -3208,7 +3208,11 @@
 #endif
     return IN_BUFFER;
 }
+#endif
 
+#if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MAC) \
+	|| defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_MSWIN) \
+	|| defined(FEAT_GUI_PHOTON) || defined(FEAT_BEVAL) || defined(PROTO)
 /*
  * Convert a virtual (screen) column to a character column.
  * The first column is one.