Implement support for display on Wayland compositors

Implemented initial support for display and input on wayland compositors. The following items should work fine:
 * Display, frame refresh
 * Detecting and selecting different output modes
 * Mouse input (buttons, wheels, motion, cursor hiding)
 * Keyboard input (key repeat)

The following items are not implemented yet
 * Dirty regions (requires core work to support EGL_EXT_buffer_age)

As was suggested in the previous review, libwayland-client.so, libwayland-egl.so and libxkbcommon.so are now loaded as dynamic libraries so that there is no runtime dependency if we want to build in wayland support. Unfortunately, that comes at a cost - we are no longer able to use a lot of the autogenerated protocol boilerplate and must instead use the protocol directly.

As such, any changes to this branch which are strictly protocol related should really be encapsulated in the objects found in the xbmc::wayland namespace.

Due to differences in the way the protocol operates between wayland 1.1 and 1.2+, there is no guaruntee that anything in the xbmc::wayland namespace is going to be running in the same thread. Usually this is not a problem, as the wayland objects are just there to manage the connection with a compositor in the background and don't interact with the rest of xbmc. The only shared state is the available output modes and xbmc does not make any assumptions about deterministic access to these anyways.

There is unit, integration and acceptance test coverage for this branch. Acceptance tests require the weston SDK in order to be built. They also require a weston binary to be available on the system. They shouldn't require any special graphics hardware - the tests use the no-op renderer so there's no checking for things with EGL_bind_wayland_display or the like. I'll need some testing to verify this though.

Screenshot:
![wayland-on-weston-on-x](https://f.cloud.github.com/assets/775309/803048/3e5c5240-ede2-11e2-9fb4-f81573a01bfd.png)

Note if you're testing on wayland-drm: Video playback will skip and stutter. The reason for this is probably because xbmc doesn't have access to your audio hardware from the console session, so SoftAE will keep resetting itself as its unable to push any data to PA.

12:55 < krh> smspillaz: and as for weston-launch, depending on how new your 
             systemd (logind) is, weston-launch is broken

The workaround is to explicitly make weston launch on the same console you're on, eg:

    weston-launch -t `tty`

Newer versions of weston-launch should handle this problem automatically.