Overlay window type

Add a new window type for overlays.

Issue: #43
Key bindings implementation

Implement a global key binding.

Issue: #32
Add key bindings

We can now add key bindings invoking this DesktopShell's method.

Issue: #32
Overlay base element with style

Add an overlay base element and the default style.

Issue: #43
Services registration

Keep track of services from DesktopShell.

Issue: #54
Volume control

Simple volume control using ALSA to control the master volume.
We should really use PulseAudio but it's too time consuming and can't
fit the Hawaii 0.2.0 time window.

Issue: #55
Expose DesktopShell to QML

Make it available from the QML world.

Issue: #56
Refactoring

Move classes to subdirectories to make maintainance easier.

Issue: #57
Turn SessionManager and PowerManager into services

These should really be services so that we can reference them from QML.

Issue: #58