Filter joins/parts/quits instead of just hiding them

ListView has troubles handling lots of hidden/collapsed items, so let's
make it easier for ListView and filter out the events from the model.
Furthermore, MessageFilter implements a bit smarter filtering ie. only
join/part/quit message types are filtered out, unless they are our own.