patch 8.2.3628: looking terminal colors is a bit slow

Problem:    Looking terminal colors is a bit slow.
Solution:   Cache the terminal colors. (closes #9130, closes #9058)
diff --git a/src/structs.h b/src/structs.h
index 7bd1ff7..9e0f64e 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -123,6 +123,14 @@
 #endif
 #define COLOR_INVALID(x) ((x) == INVALCOLOR || (x) == CTERMCOLOR)
 
+#ifdef FEAT_TERMINAL
+# include "libvterm/include/vterm.h"
+typedef struct {
+    VTermColor	fg;
+    VTermColor	bg;
+} termcellcolor_T;
+#endif
+
 /*
  * marks: positions in a file
  * (a normal mark is a lnum/col pair, the same as a file position)
@@ -3619,6 +3627,9 @@
     int		w_nrwidth;	    // width of 'number' and 'relativenumber'
 				    // column being used
 #endif
+#ifdef FEAT_TERMINAL
+    termcellcolor_T w_term_wincolor;	 // cache for term color of 'wincolor'
+#endif
 
     /*
      * === end of cached values ===