We still need to keep the vfunc around, since the fallback implementation of gdk_display_get_monitor_at_surface uses it. So, a GDK backend must either have root coordinates or always return a monitor from monitor_at_surface.