patch 9.0.1063: when using Kitty a shell command may mess up the key state

Problem:    When using Kitty a shell command may mess up the key protocol
            state.
Solution:   Output t_te before t_TE.  If t_te switches between the main and
            the alternate screen then deactivating the key protocol by t_TE
            should happen after switching screen. (issue #11705)
diff --git a/src/term.c b/src/term.c
index 13e3709..777c510 100644
--- a/src/term.c
+++ b/src/term.c
@@ -3891,10 +3891,13 @@
 	out_str(T_KE);			// stop "keypad transmit" mode
 	out_flush();
 	termcap_active = FALSE;
+
+	// Output t_te first, it may switch between main and alternate screen,
+	// and following codes may work on the active screen only.
+	out_str(T_TE);			// stop termcap mode
 	cursor_on();			// just in case it is still off
 	out_str_t_TE();			// stop "raw" mode, modifyOtherKeys and
 					// Kitty keyboard protocol
-	out_str(T_TE);			// stop termcap mode
 	screen_start();			// don't know where cursor is now
 	out_flush();
     }