tests: add test-runner

Use mixture of wayland's test suite and glib (save list of tests in special
section and run them using glib).
tests: add weston tests helper

Add pre-defined functions for tests from weston
tests: make weston-test-helper work with mutter

Mutter windows are created via xdg_shell. Bind to xdg_shell and
create xdg_surface in client_create() function. Also remove dependency
on weston files.
weston-test-helpers: change coding style

We agreen on fully adopting this file, therefore change coding style.
weston-test-helpers: use glib functions

Continue adopting. Replace standard functions with their glib alternatives
(free -> g_free, strcmp ->g_strcmp, xzalloc -> g_new0, ...)
tests: create xdg-shell-client-protocol.h for tests

Client headers have been removed recently, but we need this one in tests
weston-test-helpers: add xdg_shell and xdg_surface handling

handle xdg_* events
tests: add wrappers for wl_test requests

these wrappers call wl_test request and wait for it's outcome
test-helpers: use xdg-shell

Make client react on xdg events and let him use xdg requests.
The client can be moved by mouse, or by function, maximized,
fullscreened, etc.
tests: add sanity tests

few environment tests
tests: add plugin-test

tests for test plugin
tests: add event-test

This test is taken from weston, just changed to work with mutter
tests: add button-test

This test is taken from weston. Basically, it's the same as in plugin
test send_key_tst, but in order of adding testcases, it's not bad to
have it in another file
tests: add bad-buffer-test

from weston
tests: support for installed-tests

see: https://wiki.gnome.org/GnomeGoals/InstalledTests
tests: add client test

Test maximizing, fullscreening, moving, etc...