
There are cases where it makes sense to have fillPreferencesWindow be async, so await it. One such case is when using .ui files from resources with (GTK) templates. When extension developers load the resource in `fillPreferencesWindow` and then import the js file that registers the classes, there will be an error at the moment that there is no UI provided. Similarly, make getPreferencesWidget async optionally. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3348>