Notification Generator: Fix "Focus or open a new window" action
Notification Generator: Fix "Focus or open a new window" action

When set to the default action of "Focus or open a new window", the
notificationclick event was immediately opening a new window (due to the
`promise.then(clients.openWindow(options.url))` which should have been
`promise.then(function() { clients.openWindow(options.url); })`).

Then it was also attempting to focus the existing tab (which failed
since the user gesture token had already been used up), instead of only
opening a new window if focusing fails (since it's "or" not "and").

This patch fixes both problems. It also simplifies use of
firstWindowClient by having it reject if no window client is available.
beverloo/peter.sh,beverloo/peter.sh,beverloo/peter.sh