MEDIUM: pollers: Remember the state for read and write for each threads.

In the poller code, instead of just remembering if we're currently polling
a fd or not, remember if we're polling it for writing and/or for reading, that
way, we can avoid to modify the polling if it's already polled as needed.
diff --git a/include/proto/fd.h b/include/proto/fd.h
index 673eaae..4fbb9dc 100644
--- a/include/proto/fd.h
+++ b/include/proto/fd.h
@@ -37,7 +37,11 @@
 
 extern volatile struct fdlist update_list;
 
-extern unsigned long *polled_mask;
+
+extern struct polled_mask {
+	unsigned long poll_recv;
+	unsigned long poll_send;
+} *polled_mask;
 
 extern THREAD_LOCAL int *fd_updt;  // FD updates list
 extern THREAD_LOCAL int fd_nbupdt; // number of updates in the list