Only use trampoline runloop when profiling is enabled at startup

Reverts a change introduced by 6a7645f96cb2f1c04234da8fc48841e (not really a
bug because the tracing works correctly in both cases).

Apart from reducing unintended side-effects on load, it simplifies tesing the
normal runloop -> tracing runloop (without trampoline) code path.
Display relative sample count along with total samples

[better viewed with -w or -w --word-diff]

Display ratio against total sample count for
- global subroutine list
- global file list
- per-llne samples

Display ratio against current sub for:
- list of callers

Display ratio against current line for:
- list of callees
Make tests more robust against machine load

Use mock time when running the tests as part of a distribution (or when
IS_DISTIBUTION is set to 1 in the environment).

The default during development is to use wallclock time.