Sets or unsets the `GtkApplication` associated with the window.
The application will be kept alive for at least as long as it has any windows associated with it (see hold for a way to keep it alive without windows).
Normally, the connection between the application and the window will remain until the window is destroyed, but you can explicitly remove it by
application to null.
This is equivalent to calling [method@Gtk.Application.remove_window] and/or [method@Gtk.Application.add_window] on the old/new applications as relevant.
a `GtkApplication`, or null to unset