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
Merged-In: I0c05da49410080d506767a93983fc8b244f39e99
Change-Id: I0c05da49410080d506767a93983fc8b244f39e99
4 files changed