This MR improves driver support for scaled HiDPI displays, by respecting the application/window DPI.
Since we don't support per-monitor DPI information and awareness modes yet, the user should set the Wine system DPI to match the DPI/scale of the display the app will be running on, for best results.
Here is how things look with a few scenarios:
1. Screen scaled at 2x, application at 96dpi (e.g., dpi unaware apps) => the compositor automatically scales the surface: 
2. Screen scaled at 2x, application at 192dpi (dpi matches compositor scale) => no compositor scaling: 
3. Screen scaled at 1x, application at 96dpi (dpi matches compositor scale) => no compositor scaling: 
4. Screen scaled at 1x, application at 192dpi, not typically used, just wanted to show what happens with such a mismatch: 
Thanks!
-- v4: winewayland.drv: Ignore spurious size hints. winewayland.drv: Present cursors with the correct scale. winewayland.drv: Refactor cursor code to prepare for scaling support. winewayland.drv: Present surfaces with the correct scale. winewayland.drv: Prepare to handle different coordinate spaces.