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/libvterm/t/21state_tabstops.test b/src/libvterm/t/21state_tabstops.test
new file mode 100644
index 0000000..df4a589
--- /dev/null
+++ b/src/libvterm/t/21state_tabstops.test
@@ -0,0 +1,60 @@
+INIT
+WANTSTATE g
+
+!Initial
+RESET
+PUSH "\tX"
+  putglyph 0x58 1 0,8
+PUSH "\tX"
+  putglyph 0x58 1 0,16
+  ?cursor = 0,17
+
+!HTS
+PUSH "\e[5G\eH"
+PUSH "\e[G\tX"
+  putglyph 0x58 1 0,4
+  ?cursor = 0,5
+
+!TBC 0
+PUSH "\e[9G\e[g"
+PUSH "\e[G\tX\tX"
+  putglyph 0x58 1 0,4
+  putglyph 0x58 1 0,16
+  ?cursor = 0,17
+
+!TBC 3
+PUSH "\e[3g\e[50G\eH\e[G"
+  ?cursor = 0,0
+PUSH "\tX"
+  putglyph 0x58 1 0,49
+  ?cursor = 0,50
+
+!Tabstops after resize
+RESET
+RESIZE 30,100
+# Should be 100/8 = 12 tabstops
+PUSH "\tX"
+  putglyph 0x58 1 0,8
+PUSH "\tX"
+  putglyph 0x58 1 0,16
+PUSH "\tX"
+  putglyph 0x58 1 0,24
+PUSH "\tX"
+  putglyph 0x58 1 0,32
+PUSH "\tX"
+  putglyph 0x58 1 0,40
+PUSH "\tX"
+  putglyph 0x58 1 0,48
+PUSH "\tX"
+  putglyph 0x58 1 0,56
+PUSH "\tX"
+  putglyph 0x58 1 0,64
+PUSH "\tX"
+  putglyph 0x58 1 0,72
+PUSH "\tX"
+  putglyph 0x58 1 0,80
+PUSH "\tX"
+  putglyph 0x58 1 0,88
+PUSH "\tX"
+  putglyph 0x58 1 0,96
+  ?cursor = 0,97