### Godot version

4.0 beta 10

### System information

Windows 10, Vulkan Renderer

### Issue description

In 2D scenes with sprites, when the sprite's `flip_h` and/or `flip_v` property is enabled, the normal map is flipped with the image, causing lighting to be reversed. While this does technically make sense, in a game where You have a bunch of sprites that flip and use normal maps, the only solution is to generate normal maps for both facing directions.
![image](https://user-images.githubusercontent.com/47702559/209426338-6257d66c-a965-4793-a7bb-5a635a136267.png)

Ultimately the fix is simple: Invert the red channel in normal maps on horizontally flipped sprites, and invert the green channel on vertically flipped sprites.

### Steps to reproduce

1) Create a Sprite2D
2) Add a Diffuse Texture and Normal Map 
3) Add a 2D Light to the scene
4) Enable `flip_h` and/or `flip_v` on the Sprite2D

### Minimal reproduction project

[Normal not flipped.zip](https://github.com/godotengine/godot/files/10298203/Normal.not.flipped.zip)

FLAGS_INSTANCING_MASK = 0x7F,
		FLAGS_INSTANCING_HAS_COLORS = (1 << 7),
		FLAGS_INSTANCING_HAS_CUSTOM_DATA = (1 << 8),
		FLAGS_CLIP_RECT_UV = (1 << 9),
		FLAGS_TRANSPOSE_RECT = (1 << 10),
		FLAGS_NINEPACH_DRAW_CENTER = (1 << 12),
		FLAGS_USING_PARTICLES = (1 << 13),
		FLAGS_USE_SKELETON = (1 << 15),
		FLAGS_NINEPATCH_H_MODE_SHIFT = 16,
		FLAGS_NINEPATCH_V_MODE_SHIFT = 18,
		FLAGS_LIGHT_COUNT_SHIFT = 20,
		FLAGS_DEFAULT_NORMAL_MAP_USED = (1 << 26),
		FLAGS_DEFAULT_SPECULAR_MAP_USED = (1 << 27),
		FLAGS_USE_MSDF = (1 << 28),
		FLAGS_USE_LCD = (1 << 29),
	};
	enum {
		LIGHT_FLAGS_TEXTURE_MASK = 0xFFFF,
		LIGHT_FLAGS_BLEND_SHIFT = 16,
		LIGHT_FLAGS_BLEND_MASK = (3 << 16),
		LIGHT_FLAGS_BLEND_MODE_ADD = (0 << 16),
		LIGHT_FLAGS_BLEND_MODE_SUB = (1 << 16),
		LIGHT_FLAGS_BLEND_MODE_MIX = (2 << 16),
		LIGHT_FLAGS_BLEND_MODE_MASK = (3 << 16),
		LIGHT_FLAGS_HAS_SHADOW = (1 << 20),
		LIGHT_FLAGS_FILTER_SHIFT = 22
	};
	enum {