tests: add test-compositor

This patch introduces a set of functions that will create a display
and clients for tests. It can be used in tests like this:

  void
  client_main()
  {
  	struct wl_display *d = wl_display_connect(NULL);
  	...
  	...
  	wl_display_disconnect(d);
  }

  TEST(display_tst)
  {
    struct display *d = display_create();

    wl_global_create(d->wl_display, ...);
    ...

    create_client(d, client_main);
    display_run();

    /* will run both clients at the same time */
    create_client(d, client_main);
    create_client(d, client_main2);
    display_run();

    display_destroy(d);
  }
tests: use test-compositor in queue-test
tests: test posting errors

Test posting errors to one and more clients. The tests are using
test compositor.