Stopwatch refactor for a cleaner separation of concerns.

Separate stopwatch from Timer. Having them commingled limits the flexibility of alternate implementations, and from a logic/functionality point of view doesn't really make sense.