Also, the reason why there is a struct display_device as a cache is that we want EnumDisplayDevicesW() to be as fast as possible. So please test the performance overhead after this MR. The original performance bug is https://bugs.winehq.org/show_bug.cgi?id=51047. Please test that the game performance doesn't regress.