This PR adds builtin shaders for drawing points. Using `FLAT_COLOR`, `SMOOTH_COLOR`, `UNIFORM_COLOR` can lead to undesired behavior on Metal and Vulkan backends. To ensure future compatibility this PR adds `POINT_FLAT_COLOR` and `POINT_UNIFORM_COLOR`. The point size can be set using `gpu.state.point_size_set`. Pull Request: https://projects.blender.org/blender/blender/pulls/139583