SI-7470 implements fundep materialization

This fix provides implicit macros with an ability to affect type inference
in a more or less sane manner. That's crucial for materialization of
multi-parametric type class instances (e.g. Iso's from shapeless).
Details of the technique can be found in comments.
Merge pull request #2821 from xeno-by/topic/fundep-materialization

SI-7470 implements fundep materialization