Make FramebufferAttachmentObject not refcountable

Re-land with a fix for an unitialized variable

Instead the refcount is done via callbacks. This allows Surface to
ignore this refcounting which will be useful in a follow-up CL.

BUG=angleproject:891

Change-Id: I1925ccaa4ce7b502b33088660d31c404b8313cb5
Reviewed-on: https://chromium-review.googlesource.com/293712
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/libANGLE/renderer/DisplayImpl.cpp b/src/libANGLE/renderer/DisplayImpl.cpp
index 7713ee2..16446f9 100644
--- a/src/libANGLE/renderer/DisplayImpl.cpp
+++ b/src/libANGLE/renderer/DisplayImpl.cpp
@@ -29,8 +29,8 @@
 
 void DisplayImpl::destroySurface(egl::Surface *surface)
 {
+    surface->onDestroy();
     mSurfaceSet.erase(surface);
-    surface->release();
 }
 
 const egl::DisplayExtensions &DisplayImpl::getExtensions() const