Fix algorithm and lines init function not being called
Fix 2 issues that cause the init of lines to not be called.
The consequence is that pre and post scaler hashes are not initialized, they stay at 0 and cause coupling between the lines decisions.
The first issue is the definition of init() in the Algorithm baseclass, since the lines derive from both Algorithm and Line, which init gets picked depends on the order of declarations. Removing the init from Algorithm forces to use the init of Line. A better fix would be to use using Line<Derived>::init;
in each line, but that could also be error prone if users forgets to do it. This issue was introduced in !1377 (merged)
The second issue is in the lines that uses a custom init() function and forgot to call the parent init().
Reproduction of the first issue in godbolt: https://godbolt.org/z/15sevb4ob I believe there is a compiler bug: it should throw a compile error in all cases.