Only update the touch grab position for the first finger

Previously if you add a second finger while moving a window with a
touch grab then the position will keep jumping between the position of
each finger as you move them around. This patch changes it so that it
keeps track of the first touch id that starts the grab and only
updates the grab position when that finger moves.
diff --git a/src/input.c b/src/input.c
index 436b36c..cd2d3bc 100644
--- a/src/input.c
+++ b/src/input.c
@@ -1090,8 +1090,10 @@
 	wl_fixed_t sx, sy;
 
 	/* Update grab's global coordinates. */
-	touch->grab_x = x;
-	touch->grab_y = y;
+	if (touch_id == touch->grab_touch_id && touch_type != WL_TOUCH_UP) {
+		touch->grab_x = x;
+		touch->grab_y = y;
+	}
 
 	switch (touch_type) {
 	case WL_TOUCH_DOWN:
@@ -1121,6 +1123,7 @@
 		if (seat->num_tp == 1) {
 			touch->grab_serial =
 				wl_display_get_serial(ec->wl_display);
+			touch->grab_touch_id = touch_id;
 			touch->grab_time = time;
 			touch->grab_x = x;
 			touch->grab_y = y;