MEDIUM: applet: make the applets only use si_applet_{cant|want|stop}_{get|put}

The applets don't fiddle with SI_FL_WAIT_ROOM anymore, instead they indicate
what they want, possibly that they failed (eg: WAIT_ROOM), and it's done() /
update() which finally updates the WAIT_* flags according to the channels'
and stream interface's states. This solves the issue of the pauses during a
"show sess" without creating busy loops.
diff --git a/src/stream.c b/src/stream.c
index 77a67b8..12b6f9d 100644
--- a/src/stream.c
+++ b/src/stream.c
@@ -200,7 +200,7 @@
 	if (conn)
 		conn_data_want_recv(conn);
 	else if (appctx)
-		s->si[0].flags |= SI_FL_WAIT_DATA;
+		si_applet_want_get(&s->si[0]);
 
 	if (sess->fe->accept && sess->fe->accept(s) < 0)
 		goto out_fail_accept;