Audit async function calls to ensure safe cancellation
I've done a quick check of async function call use in Epiphany to make sure we are properly cancelling async functions when needed. We often aren't.
The following objects have suspicious async function calls that require further attention: EphyPasswordManager, EphySyncedTabsDialog, EphyPrefsDialog, EphyWindow, EphyShell, EphyActionBarStart, EphyCookiesDialog, EphyBookmarkRow, EphySyncService
Additionally, we need to audit ephy-embed-prefs.c and window-commands.c, which will be a bit tricker because these aren't objects. Looks like there's also refcounting error in user_style_sheet_read_cb() where the only ref on output_stream is dropped immediately after starting an async function call.