Fix invalid storage recovery on FL 9_3. This problem was uncovered when I inadvertently changed TextureD3D to delete its storage before its images. Small mips of compressed textures must use a nullptr argument to CopySubResource, otherwise the runtime complains about un-aligned sizes. Also change the class to delete the Images before the Storage again so we don't wastefully recover the images before deleting them. Also change the Image pointers to use std::array and std::unique_ptr. BUG=angleproject:1156 BUG=angleproject:2077 Change-Id: Idb2e53835b7a9b973285ff0781f70b25f05c77aa Reviewed-on: https://chromium-review.googlesource.com/543438 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>