hawaii.xml: Panel interfaces

Add interfaces dedicated to panels.

Issue: #31
client: Use wl_hawaii_panel_manager

Issue: #31
server: Use wl_hawaii_panel_manager

Issue: #31
hawaii.xml: Remove wl_hawaii_shell_surface.set_panel

This is not needed anymore since we now have wl_hawaii_panel_manager.

Issue: #31
server: Remove setPanel from wl_hawaii_shell_surface_interface

Follow protocol changes.

Issue: #31
server: Remove setLauncher lefthover
compositor: Remove hawaii_shell_surface_set_panel from ShellSurface

Follow protocol changes.

Issue: #31
client: Setup geometry when panel properties are changed

Issue: #128
hawaii.xml: Add requests to set panel length

Issue: #128
client: Panel length

Implement panel length.

Issue: #128
server: Save panel length

Issue: #128
client: Save panel settings

Issue: #128
client: Containment

Containments decide how the contents of a view are arranged.
Separating the containment from the view itself we avoid copy & paste
between different shell implementations.

Issue: #129
libhawaiishell: Add containment type

Issue: #129
Move elements, shells and lookandfeel under packages
panel: Install default panel containment

Issue: #129
server: Register globals in reverse order

Make sure wl_hawaii_shell is created last.
libhawaiishell: Add QmlObject

QmlObject creates components with an incubation controller and their own
engine.

Issue: #130
libhawaiishell: Load containment package format

Issue: #129
libhawaiishell: Define main script for element packages

Element packages have a main script which we forgot to define.