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
pixel_data[i * 4 + 0] = 0;
			pixel_data[i * 4 + 1] = 0;
			pixel_data[i * 4 + 2] = 0;
			pixel_data[i * 4 + 3] = 255;
		}
		glGenTextures(1, &texture_atlas.texture);
		glBindTexture(GL_TEXTURE_2D, texture_atlas.texture);
		glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, 4, 4, 0, GL_RGBA, GL_UNSIGNED_BYTE, pixel_data);
	}
	glBindTexture(GL_TEXTURE_2D, 0);
	{
		sdf_shader.shader.initialize();
		sdf_shader.shader_version = sdf_shader.shader.version_create();
	}
#ifdef GLES_OVER_GL
	glEnable(GL_PROGRAM_POINT_SIZE);
#endif
}
TextureStorage::~TextureStorage() {
	singleton = nullptr;
	for (int i = 0; i < DEFAULT_GL_TEXTURE_MAX; i++) {
		texture_free(default_gl_textures[i]);
	}
	glDeleteTextures(1, &texture_atlas.texture);
	texture_atlas.texture = 0;
	glDeleteFramebuffers(1, &texture_atlas.framebuffer);
	texture_atlas.framebuffer = 0;
	sdf_shader.shader.version_free(sdf_shader.shader_version);
}
bool TextureStorage::can_create_resources_async() const {