Detangle compute_size, among other things.
Like the GdkWaylandToplevel split-off, this needs some more cleanup.