### Godot version

v4.0.beta17.mono.official [c40020513]

### System information

Windows 11 22H2

### Issue description

If the game window receives a mouse button down message but misses its corresponding button up message, `pressrc` will become permanently out of sync with the actual physical mouse state, and `ReleaseCapture()` will never be called.

https://github.com/godotengine/godot/blob/00302860541e9cccc59abd93b930af2a6e6ec360/platform/windows/display_server_windows.cpp#L3264-L3275

### Steps to reproduce

Run the MRP, click and hold the left mouse button in the main window, drag your cursor outside the window, then alt+tab to some non-Godot application, then release the mouse button.

Go back to the MRP windows, and observe that one window is completely unresponsive, and the other window can't be moved/resized/maximized/closed.

### Minimal reproduction project

[mouse_capture_bug.zip](https://github.com/godotengine/godot/files/10609122/mouse_capture_bug.zip)

HWND hwnd = GetForegroundWindow();
	if (hwnd) {
		EnumScreenData data = { 0, 0, MonitorFromWindow(hwnd, MONITOR_DEFAULTTONEAREST) };
		EnumDisplayMonitors(nullptr, nullptr, _MonitorEnumProcScreen, (LPARAM)&data);
		return data.screen;
	} else {
		return get_primary_screen();
	}
}
typedef struct {
	int count;
	int screen;
	Point2 pos;
} EnumPosData;
static BOOL CALLBACK _MonitorEnumProcPos(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData) {
	EnumPosData *data = (EnumPosData *)dwData;
	if (data->count == data->screen) {
		data->pos.x = lprcMonitor->left;
		data->pos.y = lprcMonitor->top;
	}
	data->count++;
	return TRUE;
}
static BOOL CALLBACK _MonitorEnumProcOrigin(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData) {
	EnumPosData *data = (EnumPosData *)dwData;
	data->pos.x = MIN(data->pos.x, lprcMonitor->left);
	data->pos.y = MIN(data->pos.y, lprcMonitor->top);
	return TRUE;
}
Point2i DisplayServerWindows::_get_screens_origin() const {