Make tooltip code handle scenarios from Bug#30182 and Bug#30399
Move calculation of the mode line default help echo from
note_mode_line_or_margin_highlight to display_mode_lines
(Bug#30182). Fix cursor type for dragging the mode line.
Normalize FRAME argument of Fx_show_tip before assigning it to
tip_last_frame and handle the transition from GTK+ to Emacs
tooltips and vice-versa in x_hide_tip (Bug#30399).
* src/window.h (struct window): New Lisp member
mode_line_help_echo.
(wset_mode_line_help_echo): New function.
* src/w32fns.c (Fx_show_tip): Normalize the FRAME argument
bevore storing it in tip_last_frame (Bug#30399).
* src/xdisp.c (display_mode_lines): Calculate mode line
default help echo string here and store it in the window's
mode_line_help_echo slot (Bug#30182).
(note_mode_line_or_margin_highlight): Use value in window's
mode_line_help_echo slot as mode line default help echo. When
the window is resizable show a vertical drag cursor instead of
the vertical scroll bar cursor.
* src/xfns.c (x_hide_tip): Rewrite the GTK+ part to correctly
handle the transition from GTK+ system to Emacs tooltips and
vice-versa (Bug#30399).
(Fx_show_tip): Normalize the FRAME argument bevore storing it
in tip_last_frame (Bug#30399).