Add flag to indicate immutable storage in gles2::Texture

|immutable| indicates that the GPU clients cannot modify the format or
dimensions of the texture object. This is an artificial restriction imposed
by the GPU service on its clients. |immutable_storage| indicates that the
storage for the texture is allocated using glTexStorage* functions and it
is equivalent to the definition of immutability as defined in OpenGL
specifications. It's important to know whether a texture is created
using glTexStorage* because only such textures can be bound to an image
unit.

Bug: 971845,938597
Change-Id: I0e5940642e8af56e6d3e54905f61ad9e5b5807fa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1660356
Commit-Queue: Saman Sami <samans@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#669460}
13 files changed