!str #15121 MaterializerSettings now uses a config object

* it's now easier to create a FlowMaterializer(), which will use the default (see akka-streams/.../reference.conf) configuration
* kept methods to easily overload some values of the settings (used to be done via copy())
* made some apply() duplication trade-offs in FlowMaterializer companion for nicer API
* made it possible to set namePrefix from Java API

Resolves #15121
Had to do these overloads because otherwise would have `multiple apply overloads define default param values` errors and I needed to extract the settings from the actor system of the implicit context param (see overload below). Summary: Had to fall back to overloads as was not able to achieve this settings extracting with just default params.