Changed logging in DoTimed/RunActivity to create less overhead

Added a specific method for calling the PerfTimer with the long tick threshold as the limit, and outputting in the tick format. This is carefully designed to delay creating the output string until it is needed and avoid allocations. The class itself has been refactored slightly to reduce its memory footprint since so many are created.