!str #15551 Switch to implicit passing of FlowMaterializer

* implicit param
* change tests to use implicit materializer
* add ActorFlow trait that provides an implicit materializer inside an actor
  in the right way, i.e. encourage usage of that instead of
  implicit def mat(implicit arf: ActorRef): FlowMaterializer
* make http compile, but those (@jrudolph, @sirthias) who know the api better will have to adjust
  to take full advantage of the implicit materializer

Refs #15551
This approach is safe after #15701
@rkuhn Yes, I agree, avoiding long-running branches is usually the best way to avoid merge conflicts. I currently still have the routing branch open and I guess I'll need to keep it running for a while until I've factored it into smaller bits.

I was just a bit surprised when I saw that this PR just reverts changes that were introduced in #15673, so that in the result we have a lot of "needlessly" touched lines. But, I guess, for implicit materializers some sacrifices are ok. So, :+1: implicit materializers, yeah :)