TestSuite: print non-absolute delta when comparing floats.

It is then easier to fix the check (subtracting some amount from
expected value instead of trying both add/subtract).
Containers: fix narrowing conversion.

std::uint8_t(~0) is casting -1 to uint8_t, which triggers error with
Clang (but not with GCC).
Utility: fix Clang warnings.

Mistakenly used class keyword for instantiating struct template.
Interconnect: fix Emitter::connect() also for Clang.

It seems that 2b6e11a15dbe384a3597502056ec94bb0595b282 fixed it for GCC,
but broke Clang, as it treats &Derived::memFun as &Base::memFun and
doesn't accept implicit conversion from Base* to Derived*.