Unify extensions parsing behavior

Removes remnants of EGL extension support, and persistence of
GL extension list.

Change-Id: I35aec12d900bdb33549ea47654bb8146f350ef48
diff --git a/libs/hwui/renderthread/EglManager.cpp b/libs/hwui/renderthread/EglManager.cpp
index d2ce49f..c9b9637 100644
--- a/libs/hwui/renderthread/EglManager.cpp
+++ b/libs/hwui/renderthread/EglManager.cpp
@@ -20,6 +20,7 @@
 #include "Properties.h"
 #include "RenderThread.h"
 #include "renderstate/RenderState.h"
+#include "utils/StringUtils.h"
 
 #include <cutils/log.h>
 #include <cutils/properties.h>
@@ -133,12 +134,9 @@
 }
 
 void EglManager::initExtensions() {
-    std::string extensions(eglQueryString(mEglDisplay, EGL_EXTENSIONS));
-    auto has = [&](const char* ext) {
-        return extensions.find(ext) != std::string::npos;
-    };
-    EglExtensions.bufferAge = has("EGL_EXT_buffer_age");
-    EglExtensions.setDamage = has("EGL_KHR_partial_update");
+    StringCollection extensions(eglQueryString(mEglDisplay, EGL_EXTENSIONS));
+    EglExtensions.bufferAge = extensions.has("EGL_EXT_buffer_age");
+    EglExtensions.setDamage = extensions.has("EGL_KHR_partial_update");
 }
 
 bool EglManager::hasEglContext() {