Updating profiler logging output to better support n-depth profiler nesting.
Favoring immutability for Profiler
Separating logging format concerns from Profiler, making more logging options configurable.