Move most Collector's code to Session

Now, Collector is not created for each request. We reuse the same
instance like other pluggable components.