patch 9.0.0288: when 'cmdheight' is zero some messages are not displayed

Problem:    When 'cmdheight' is zero some messages are not displayed.
Solution:   Use a popup notification window.
diff --git a/src/proto/message.pro b/src/proto/message.pro
index 3f8a8fe..bea3016 100644
--- a/src/proto/message.pro
+++ b/src/proto/message.pro
@@ -23,6 +23,7 @@
 void wait_return(int redraw);
 void set_keep_msg(char_u *s, int attr);
 void set_keep_msg_from_hist(void);
+int use_message_window(void);
 void msg_start(void);
 void msg_starthere(void);
 void msg_putchar(int c);
diff --git a/src/proto/popupwin.pro b/src/proto/popupwin.pro
index 2bdf4f5..ef76941 100644
--- a/src/proto/popupwin.pro
+++ b/src/proto/popupwin.pro
@@ -62,6 +62,10 @@
 void popup_close_preview(void);
 void popup_hide_info(void);
 void popup_close_info(void);
+win_T *popup_get_message_win(void);
+void popup_show_message_win(void);
+int popup_message_win_visible(void);
+void popup_hide_message_win(void);
 int popup_win_closed(win_T *win);
 void popup_set_title(win_T *wp);
 void popup_update_preview_title(void);
diff --git a/src/proto/time.pro b/src/proto/time.pro
index 54ed4ba..affdb7a 100644
--- a/src/proto/time.pro
+++ b/src/proto/time.pro
@@ -9,6 +9,7 @@
 void f_strptime(typval_T *argvars, typval_T *rettv);
 long proftime_time_left(proftime_T *due, proftime_T *now);
 timer_T *create_timer(long msec, int repeat);
+void timer_start(timer_T *timer);
 long check_due_timer(void);
 void stop_timer(timer_T *timer);
 int set_ref_in_timer(int copyID);