Refactor StaticallyUsed

Gather vertexStaticUse, fragmentStaticUse, and computeStaticUse
into a new mixin class StaticallyUsed, from which various
program resources can inherit to track their shader references.

BUG=angleproject:1920
Change-Id: Ibb3c0fe035bb8789aad65dbdfefaf7cb17b64c4e
Reviewed-on: https://chromium-review.googlesource.com/748317
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/libANGLE/UniformLinker.cpp b/src/libANGLE/UniformLinker.cpp
index f60897f..0cf2e7e 100644
--- a/src/libANGLE/UniformLinker.cpp
+++ b/src/libANGLE/UniformLinker.cpp
@@ -536,7 +536,7 @@
         if (markStaticUse)
         {
             existingUniform->staticUse = true;
-            MarkResourceStaticUse(existingUniform, shaderType, true);
+            existingUniform->setStaticUse(shaderType, true);
         }
     }
     else
@@ -548,7 +548,7 @@
         linkedUniform.staticUse = markStaticUse;
         if (markStaticUse)
         {
-            MarkResourceStaticUse(&linkedUniform, shaderType, true);
+            linkedUniform.setStaticUse(shaderType, true);
         }
 
         uniformList->push_back(linkedUniform);