Changed DoTimed and RunActivity to use manual looping for performance.

- Settings.LongTickThreshold changed from TimeSpan to float and renamed to LongTickThresholdMs.
- PerfTimer now outputs the time at the start of the line.
- Removed PerfTimer.TimeUsingLongTickThreshold in favor of manual timing in DoTimed and RunActivity. Added LogLongTick and LongTickThresholdInStopwatchTicks as helper methods to reduce duplicated code.