notifications: Exit with an error if not running under Wayland

The notifications daemon requires Wayland, raise an error if the
platform plugin is not what we expect.
notifications: Don't import invalid Hawaii.Shell

Hawaii.Shell is available only to QML code running inside the shell.
notifications: Create daemon from the main thread

Create daemon instance from the main thread.
notifications: Load QML code at window creation

With a QQuickView we can easily load QML code instead of creating
components.
notifications: Code cleanup

No functional change.
panel: React to form factor changes