### Godot version

v4.0.beta14.mono.official [28a24639c]

### System information

Windows 10

### Issue description

The C# implementation of NodePath == operator seems to only check identity.
Comparing two equal NodePath instances returns false.
GDScript allows comparison and I expected the same behavior in C#.

### Steps to reproduce

Create two NodePath instances with the same value and compare them.
See minimal reproduction project.

### Minimal reproduction project

[godot_dotnet_nodepath_eq.zip](https://github.com/godotengine/godot/files/10512940/godot_dotnet_nodepath_eq.zip)

return EngineDebugger::is_active();
}
GCHandleIntPtr godotsharp_internal_object_get_associated_gchandle(Object *p_ptr) {
#ifdef DEBUG_ENABLED
	CRASH_COND(p_ptr == nullptr);
#endif
	if (p_ptr->get_script_instance()) {
		CSharpInstance *cs_instance = CAST_CSHARP_INSTANCE(p_ptr->get_script_instance());
		if (cs_instance) {
			if (!cs_instance->is_destructing_script_instance()) {
				return cs_instance->get_gchandle_intptr();
			}
			return { nullptr };
		}
	}
	void *data = CSharpLanguage::get_existing_instance_binding(p_ptr);
	if (data) {
		CSharpScriptBinding &script_binding = ((RBMap<Object *, CSharpScriptBinding>::Element *)data)->get();
		if (script_binding.inited) {
			MonoGCHandleData &gchandle = script_binding.gchandle;
			return !gchandle.is_released() ? gchandle.get_intptr() : GCHandleIntPtr{ nullptr };
		}
	}
	return { nullptr };
}
void godotsharp_internal_object_disposed(Object *p_ptr, GCHandleIntPtr p_gchandle_to_free) {