server: Post an error if surfaces are already configured

Once a background or desktop role is assigned it cannot be changed.
Also, create the view only the first time.
client: Set desktop role to desktop views

Set desktop surface role to desktop views.

Issue: #68
hawaii.xml: Add wl_hawaii_shell.configure event

Add an event sent to the shell when a surface needs to be resized.
This will be used to resize desktop views as the available space
changes.
server: Send configure event to desktop views

If the available space is changed, ask the shell to resize the desktop
view accordingly.

Issue: #68
client: Resize desktop views

Resize desktop views when asked by the compositor.

Issue: #68
desktop: Use a more appropriate animation

NumberAnimation is reccomended for opacity.