Add GrBackendMutableState object to handle shared texture state.

This is will be the main struct used to synchronize changes of certain
texture/image between clients and Skia. With this change we
implement support for the Vulkan shared state as POC.

Bug: skia:10254
Change-Id: I10543357635c347838b193874e4da4496a0dcf06
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292311
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/gn/tests.gni b/gn/tests.gni
index 3b9b2d8..aadfae7 100644
--- a/gn/tests.gni
+++ b/gn/tests.gni
@@ -17,6 +17,7 @@
   "$_tests/AsADashTest.cpp",
   "$_tests/BRDTest.cpp",
   "$_tests/BackendAllocationTest.cpp",
+  "$_tests/BackendSurfaceMutableStateTest.cpp",
   "$_tests/BadIcoTest.cpp",
   "$_tests/BitSetTest.cpp",
   "$_tests/BitmapCopyTest.cpp",