### Godot version

4.0.3, 4.1.dev 4 [5c2295ff5]

### System information

Godot v4.1.dev (5c2295ff5) - Garuda Linux ZEN SMP PREEMPT_DYNAMIC Wed, 24 May 2023 17:43:43 +0000 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3050 Ti Laptop GPU () - 11th Gen Intel(R) Core(TM) i5-11400H @ 2.70GHz (12 Threads)

### Issue description

In Godot 3, Polygon2D UV editor followed the texture's filer parameters, making it easy to edit polygons for pixelart sprites.
![image](https://github.com/godotengine/godot/assets/71876471/c814ac20-23d5-4f44-b124-a6e915e9e878)
However, the same doesn't happen in Godot 4, where the expected result is the `texture_filter` parameter of `Polygon2D` node being respected. Instead, a linear filter is used. Project defaults are ignored, too. 
![image](https://github.com/godotengine/godot/assets/71876471/3c7b23e6-a85d-432f-95c0-e6cbf898c9c0)

### Possible fix
It seems to be fixable by adding `uv_edit_draw->set_texture_filter(node->get_texture_filter_in_tree());` to `Polygon2DEditor::_menu_option` function in `editor/plugins/polygon_2d_editor_plugin.cpp.` That way, the window's texture filter is set accordingly every time a polygon is being edited. However, I'm not experienced enough in C++ to consider this fix safe and clean. 

I used `get_texture_filter_in_tree()` instead of `get_texture_filter` to account for `TEXTURE_FILTER_PARENT_NODE`. 

### Steps to reproduce

1. Add a Polygon2D node and assign a pixelart texture to it. This lock can be used as a reference. 
![lock](https://github.com/godotengine/godot/assets/71876471/984f06d4-935a-4a3c-a7dd-2e6456267c87)
2. Set the node's Texture filter to "Nearest".
3. Open the UV editor of that node and behold the blurred version of the sprite.

### Minimal reproduction project

N/A
if (bone->get_rest() == Transform2D(0, 0, 0, 0, 0, 0)) {
						continue; /
					}
					bool current = bone_path == skeleton->get_path_to(bone);
					bool found_child = false;
					for (int j = 0; j < bone->get_child_count(); j++) {
						Bone2D *n = Object::cast_to<Bone2D>(bone->get_child(j));
						if (!n) {
							continue;
						}
						found_child = true;
						Transform2D bone_xform = node->get_global_transform().affine_inverse() * (skeleton->get_global_transform() * bone->get_skeleton_rest());
						Transform2D endpoint_xform = bone_xform * n->get_transform();
						Color color = current ? Color(1, 1, 1) : Color(0.5, 0.5, 0.5);
						uv_edit_draw->draw_line(mtx.xform(bone_xform.get_origin()), mtx.xform(endpoint_xform.get_origin()), Color(0, 0, 0), Math::round((current ? 5 : 4) * EDSCALE));
						uv_edit_draw->draw_line(mtx.xform(bone_xform.get_origin()), mtx.xform(endpoint_xform.get_origin()), color, Math::round((current ? 3 : 2) * EDSCALE));
					}
					if (!found_child) {
						/
						Transform2D bone_xform = node->get_global_transform().affine_inverse() * (skeleton->get_global_transform() * bone->get_skeleton_rest());
						Transform2D endpoint_xform = bone_xform * Transform2D(0, Vector2(bone->get_length(), 0));
						Color color = current ? Color(1, 1, 1) : Color(0.5, 0.5, 0.5);
						uv_edit_draw->draw_line(mtx.xform(bone_xform.get_origin()), mtx.xform(endpoint_xform.get_origin()), Color(0, 0, 0), Math::round((current ? 5 : 4) * EDSCALE));
						uv_edit_draw->draw_line(mtx.xform(bone_xform.get_origin()), mtx.xform(endpoint_xform.get_origin()), color, Math::round((current ? 3 : 2) * EDSCALE));
					}
				}
			}
		}
		/
		uv_edit_draw->draw_circle(bone_paint_pos, bone_paint_radius->get_value() * EDSCALE, Color(1, 1, 1, 0.1));