hawaii.xml: Remove output argument from set_popup

Popup surfaces are displayed in the same output as the parent surface.

Issue: #133
components: Don't pass output argument to set_popup

Follow protocol changes.

Issue: #133
compositor: Remove output argument from set_popup

Follow protocol changes.

Issue: #133
hawaii.xml: Add wl_hawaii_window.close

Add a request to close the client window.

Issue: #132
server: Update code

Update code from Nuclear, its library should be used but it needs some
patches to be usable by out of tree code. Meanwhile the code is imported
here.  We also add the Nuclear settings protocol temporarily.

Issue: #116
server: Surface identifier

Handle surface identifier.
This is a feature added to the Nuclear library that will be submitted
upstream later.

Issue: #116
server: Add a method to reset layers

We need a method to reset layers to implement the lock screen.

Issue: #116
server: Add a method to prepend a view in layers

Currently we can only append a view to a layer but sometimes, e.g. with
the lock screen we need to prepend a view.

Issue: #116
server: Additional layers for Hawaii customizations

Hawaii has dialogs, notifications and lock screen so it needs dedicated
layers.

Issue: #116
server: Add show and hide methods to workspace

With these methods we can show and hide workspace's layer, this might be
useful to handle lock screen.

Issue: #116
server: Initial porting

Almost everything have been porting, a few things like the switcher
are not yet ported.

Issue: #116
libhawaiishell: Set incubation mode to AsynchronousIfNested by default

If the component is being created in a context that is already part of
an asynchronous creation, the incubator will join that existing
incubation and execute asynchronously.

As a result, the existing incubation won't be Ready until both have been
completed

Otherwise, if the component is being create in a syncrhonous context the
incubation will execute synchronously.

Issue: #130
Check whether libsystemd-daemon is available

Issue: #135
notifications: Notify systemd when the service is started

Notify service manager when the notifications daemon startup is complete.

Issue: #135
compositor: Send frame callbacks after rendering

Send frame callbacks after the compositor has issues its GL calls but
before eglSwapBuffers() and before the GPU draws anything.

This follows latest QtCompositor changes.
hawaii.xml: Remove wl_hawaii_popup_surface.dismiss

When a popup window is hidden we destroy it and call dismiss.
This is too much complicated, the compositor should just break the grab
when the surface is actually destroyed.

Issue: #136
components: wl_hawaii_popup_surface.dismiss

Close the popup window when it is hidden without sending the dismiss
request.  The compositor will take care of breaking the grab when the
surface is destroyed.

Issue: #136
compositor: Remove wl_hawaii_popup_surface.dismiss

Since we don't have the dismiss request anymore the compositor now
breaks the grab when the surface is destroyed.

Issue: #136
server: Remove wl_hawaii_popup_surface.dismiss

Since we don't have the dismiss request anymore the compositor now
breaks the grab when the surface is destroyed.

Issue: #136
compositor: Register globals in reverse order

Make sure wl_hawaii_shell is created last so that the loaded event is
emitted after the other interfaces are registered.