MVKImagePlane: Reset _mtlTexture after releasing.

For an MVKImage, when we call vkUseIOSurfaceMVK(),
the MTLTexture of each plane will be released but not
reset. And later when we destroy the MVKImage, the
destructor of MVKImagePlane calls releaseMTLTexture()
again, which will cause a crash because of double releasing
of an object.

To solve this we need to reset _mtlTexture to nil after
it is successfully released.
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm b/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
index 7e62de2..a8aa43f 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
@@ -100,6 +100,8 @@
 
 void MVKImagePlane::releaseMTLTexture() {
     [_mtlTexture release];
+    _mtlTexture = nil;
+
     for (auto elem : _mtlTextureViews) {
         [elem.second release];
     }