patch 8.0.1318: terminal balloon only shows one line

Problem:    Terminal balloon only shows one line.
Solution:   Split into several lines in a clever way.  Add balloon_split().
            Make balloon_show() accept a list in the terminal.
diff --git a/src/proto/beval.pro b/src/proto/beval.pro
index 716fbbe..2be64a0 100644
--- a/src/proto/beval.pro
+++ b/src/proto/beval.pro
@@ -1,6 +1,6 @@
 /* beval.c */
 int get_beval_info(BalloonEval *beval, int getword, win_T **winp, linenr_T *lnump, char_u **textp, int *colp);
-void post_balloon(BalloonEval *beval, char_u *mesg);
+void post_balloon(BalloonEval *beval, char_u *mesg, list_T *list);
 int can_use_beval(void);
 void general_beval_cb(BalloonEval *beval, int state);
 /* vim: set ft=c : */
diff --git a/src/proto/popupmnu.pro b/src/proto/popupmnu.pro
index 5779533..2727304 100644
--- a/src/proto/popupmnu.pro
+++ b/src/proto/popupmnu.pro
@@ -5,7 +5,8 @@
 void pum_clear(void);
 int pum_visible(void);
 int pum_get_height(void);
+int split_message(char_u *mesg, pumitem_T **array);
 void ui_remove_balloon(void);
-void ui_post_balloon(char_u *mesg);
+void ui_post_balloon(char_u *mesg, list_T *list);
 void ui_may_remove_balloon(void);
 /* vim: set ft=c : */