threadshare: consider separating `Task` from `PadSrc`
This would allow defining a PadSrc
without the need for a Context
, which is currently mandatory when calling prepare
. Elements which require a Task
could instantiate and manage it directly. This would probably be best done via the matching PadSrcHandler
implementation.
Additionally, now that the unprepare
methods are no longer async
, we could make sure to call them as part of the Drop
implementations for PadSrc
, PadSink
and Task
.