Implement simple tools for functions instrumentation

Now you can require "common/performance" in any place in Lab
and then call:

performance.enterScope("scopeName");
(...)
performance.leaveScope("scopeName");

Benchmarks can use these scopes and get the average time spent in scope
or average frequency using:

performance.getAvgTime("scopeName");
performance.getAvgFreq("scopeName");  // in Hz

Note that data will be collected *ONLY* when you explicitly enable it
by calling:

.collectData(true);

So benchmark should do it at the beginning and when its tests end,
it should call:

.collectData(false)

to ensure that there is no additional overhead when users run
simulations without benchmarking.