spring: Tweak the window fade-in spring to not overshoot

The fade animation overshoots and rings for a bit dipping back into
slightly transparent.  Bug 61675 was right.

https://bugs.freedesktop.org/show_bug.cgi?id=61675
diff --git a/src/animation.c b/src/animation.c
index b8de574..782df24 100644
--- a/src/animation.c
+++ b/src/animation.c
@@ -265,16 +265,19 @@
 					    fade_frame, done, data);
 
 	weston_spring_init(&fade->spring, k, start, end);
+
+	fade->spring.friction = 1400;
+	fade->spring.previous = -(end - start) * 0.03;
+
 	surface->alpha = start;
 
 	return fade;
 }
 
 WL_EXPORT void
-weston_fade_update(struct weston_surface_animation *fade,
-		   float start, float end, float k)
+weston_fade_update(struct weston_surface_animation *fade, float target)
 {
-	weston_spring_init(&fade->spring, k, start, end);
+	fade->spring.target = target;
 }
 
 static void