Fix timer bugs

 - pause when app is backgrounded
 - persist timer value and pause/start state on re-create
 - don't toggle timer pause/start when ended