Make egl::Surface ref-counted.

This will let us store references to Surface in FBO attachments,
even after the surface is destroyed.

BUG=angleproject:963

Change-Id: I7e1cb161d1e08f78b1c4d730a32ad09ac7e61e30
Reviewed-on: https://chromium-review.googlesource.com/263482
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/renderer/DisplayImpl.cpp b/src/libANGLE/renderer/DisplayImpl.cpp
index 60821b1..7713ee2 100644
--- a/src/libANGLE/renderer/DisplayImpl.cpp
+++ b/src/libANGLE/renderer/DisplayImpl.cpp
@@ -30,7 +30,7 @@
 void DisplayImpl::destroySurface(egl::Surface *surface)
 {
     mSurfaceSet.erase(surface);
-    SafeDelete(surface);
+    surface->release();
 }
 
 const egl::DisplayExtensions &DisplayImpl::getExtensions() const