genetics: Implement correct elapsed time measuring

This adds a resumedTime variable which is used to offset against the
starting time, to prevent the time spent during pauses from counting
towards the total elapsed.

Closes #28.
Merge branch 'iss28'