Refactor Texture::copy*Image methods to use gl::Error objects.

BUG=angle:520

Change-Id: I8b6bf5d50ee0d1f796eff52919ee65823fdee6cb
Reviewed-on: https://chromium-review.googlesource.com/216647
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
Refactor Texture::storage methods to use gl::Error objects.

BUG=angle:520

Change-Id: I33bc8479815a587749bddc722ac9fe5a85f554cb
Reviewed-on: https://chromium-review.googlesource.com/216648
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
Improve the TextureStorage11 SRV cache.

 * Use a std::map instead of std::vector for logarithmic search time.
 * Reduce the number of structs and make them private instead of
   protected since they arn't used outside of the base class.
 * Fix the SRV cache member name.

BUG=angle:520

Change-Id: I5158c1d46523f46158c51cd68044f7c915a3de03
Reviewed-on: https://chromium-review.googlesource.com/217335
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>