This CL adds glTexStorage support.

For us to take advantage of immutable texture storage, we would need to
know in advance that the texture will not be changing allocated size.

In some cases we cannot know this in advance: we will sometimes later
need mipmaps to be allocated and generated. However, in the cases where
we know in advance that we are allocating mipmaps we can take advantage
of immutable storage.

BUG=476416
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1570173004

Review URL: https://codereview.chromium.org/1570173004
3 files changed