tests: introduce create_client()

Introduce a new helper create_client(), which creates and initializes
the client struct, but does not create a wl_surface.

This will be useful for ivi-shell tests.

v2: Rebased, and restored the dependency to weston-test.so, since seat
handling requires it.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Marek Chalupa <mchqwerty@gmail.com>
diff --git a/tests/weston-test-client-helper.c b/tests/weston-test-client-helper.c
index 9a031e3..84eae7e 100644
--- a/tests/weston-test-client-helper.c
+++ b/tests/weston-test-client-helper.c
@@ -736,10 +736,9 @@
 }
 
 struct client *
-client_create(int x, int y, int width, int height)
+create_client(void)
 {
 	struct client *client;
-	struct surface *surface;
 
 	wl_log_set_handler_client(log_handler);
 
@@ -752,7 +751,8 @@
 
 	/* setup registry so we can bind to interfaces */
 	client->wl_registry = wl_display_get_registry(client->wl_display);
-	wl_registry_add_listener(client->wl_registry, &registry_listener, client);
+	wl_registry_add_listener(client->wl_registry, &registry_listener,
+				 client);
 
 	/* this roundtrip makes sure we have all globals and we bound to them */
 	client_roundtrip(client);
@@ -778,6 +778,17 @@
 	/* must have seat set */
 	assert(client->input);
 
+	return client;
+}
+
+struct client *
+client_create(int x, int y, int width, int height)
+{
+	struct client *client;
+	struct surface *surface;
+
+	client = create_client();
+
 	/* initialize the client surface */
 	surface = xzalloc(sizeof *surface);
 	surface->wl_surface =