patch 9.0.0294: crash when 'cmdheight' is 0 and popup_clear() used

Problem:    Crash when 'cmdheight' is 0 and popup_clear() used.
Solution:   Reset "message_win" when the message popup is cleared.  Close the
            popup when 'cmdheight' is non-zero.  Add a screendump test.
diff --git a/src/window.c b/src/window.c
index 8c42b60..7c5c7ff 100644
--- a/src/window.c
+++ b/src/window.c
@@ -6603,6 +6603,11 @@
     // Recompute window positions.
     if (frp != lastwin->w_frame)
 	(void)win_comp_pos();
+
+#ifdef HAS_MESSAGE_WINDOW
+    if (p_ch > 0)
+	popup_close_message_win();
+#endif
 }
 
 /*