Fix corner case for render buffer reference count

The spec leaves a lot of corner cases when deleting renderbuffer. It is
automatically detached from the current framebuffer. This does not
happen to framebuffers that are not current.

We add more granular ref counts to handle the situation when it is bound
to a framebuffer that has been detached.

https://www.khronos.org/registry/OpenGL-Refpages/es3.0/html/glDeleteRenderbuffers.xhtml

Bug: 228188569
Test: run cts -m CtsSkQPTestCases -t org.skia.skqp.SkQPRunner#UnitTest_ES2BlendWithNoTexture
Change-Id: I2b63419717cc3a3e211d9e555bae3f3932f010f5
3 files changed