Use share pointer for texture data

Skia tries to do the following:

1. create texture
2. bind texture to framebuffer
3. unbind framebuffer
4. delete texture
5. rebind framebuffer and expect its texture attachment still works.

We would have to rewrite texture data with smart pointers to support
such scenario.

Test: org.skia.skqp.SkQPRunner#UnitTest_GrContext_colorTypeSupportedAsSurface
Bug: 228188395
Change-Id: I0c05da49410080d506767a93983fc8b244f39e99
4 files changed