main: Improve signal management

Current signal handler was getting blocked when main loop was being
asynchronously removed when the lock for the current source was held.
This patch uses signalfd to pull signal events from a file descriptor
avoiding deadlocks when a source is running when any signal is managed.

Change-Id: Ib3229851e74ee6c7eb006d66b60c76ff49b2ff43
MediaSourceImpl: Disconnect the signal only if the id is not 0

Change-Id: I951a8886fdcbac294bf5b500938db52561a843b4
MediaSourceImpl: Add destroy function in signal connect

Change-Id: I61bdc5d85bf79f23498e379c09dcb612027e3c1c