e2lib.tracer hooks into the debug functionality of the lua interpreter
and gets called every time a lua function is called. This allows
detailed logging (at log level 4) without cluttering the code with log()
calls.
tracer() uses two function name blacklists to reduce the amount of
noise.
tracer() comes with a speed penalty, due to hooking, calling the
function itself and added IO overhead. Meassurements show a ~15% runtime
increase in a number of tests.