patch 8.0.0693: no terminal emulator support

Problem:    No terminal emulator support.  Cannot properly run commands in the
            GUI.  Cannot run a job interactively with an ssh connection.
Solution:   Very early implementation of the :terminal command.  Includes
            libvterm converted to ANSI C.  Many parts still missing.
diff --git a/src/structs.h b/src/structs.h
index c7aa8f2..0fbc5a5 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -68,6 +68,7 @@
 typedef struct frame_S		frame_T;
 typedef int			scid_T;		/* script ID */
 typedef struct file_buffer	buf_T;  /* forward declaration */
+typedef struct terminal_S	term_T;
 
 /*
  * Reference to a buffer that stores the value of buf_free_count.
@@ -268,6 +269,10 @@
     char_u	*wo_scl;
 # define w_p_scl w_onebuf_opt.wo_scl	/* 'signcolumn' */
 #endif
+#ifdef FEAT_TERMINAL
+    char_u	*wo_tms;
+#define w_p_tms w_onebuf_opt.wo_tms	/* 'termsize' */
+#endif
 
 #ifdef FEAT_EVAL
     int		wo_scriptID[WV_COUNT];	/* SIDs for window-local options */
@@ -2351,6 +2356,11 @@
 #endif
     int		b_mapped_ctrl_c; /* modes where CTRL-C is mapped */
 
+#ifdef FEAT_TERMINAL
+    term_T	*b_term;	/* When not NULL this buffer is for a terminal
+				 * window. */
+#endif
+
 }; /* file_buffer */