Regression from #71248:

I believe this pull may have caused errors on WebGL since it moves the `GLES_OVER_GL` guard. WebGL does not support texture swizzling per: https://registry.khronos.org/webgl/specs/latest/2.0/#5.19
so this is causing the following trace in Chrome:
```
WebGL: INVALID_ENUM: texParameter: invalid parameter name
```
and it quickly fills up the 256 log limit for the same message in WebGL.

This doesn't appear to be breaking anything asides from causing the numerous log messages.

_Originally posted by @jnlopar in https://github.com/godotengine/godot/issues/71248#issuecomment-1384768973_

CC @rsjtdrjgfuzkfg @clayjohn
Texture *tex = texture_owner.get_or_null(p_texture);
	ERR_FAIL_COND(!tex);
	ERR_FAIL_COND(!tex->is_proxy);
	Texture *proxy_to = texture_owner.get_or_null(p_proxy_to);
	ERR_FAIL_COND(!proxy_to);
	ERR_FAIL_COND(proxy_to->is_proxy);
	if (tex->proxy_to.is_valid()) {
		Texture *prev_tex = texture_owner.get_or_null(tex->proxy_to);
		ERR_FAIL_COND(!prev_tex);
		prev_tex->proxies.erase(p_texture);
	}
	*tex = *proxy_to;
	tex->proxy_to = p_proxy_to;
	tex->is_render_target = false;
	tex->is_proxy = true;
	tex->proxies.clear();
	proxy_to->proxies.push_back(p_texture);
}
void TextureStorage::texture_2d_placeholder_initialize(RID p_texture) {
	
	
	Ref<Image> image = Image::create_empty(4, 4, false, Image::FORMAT_RGBA8);
	image->fill(Color(1, 0, 1, 1));
	texture_2d_initialize(p_texture, image);
}
void TextureStorage::texture_2d_layered_placeholder_initialize(RID p_texture, RenderingServer::TextureLayeredType p_layered_type) {