Refactor pause/unpause code into own methods.

No behavioral change.
Fix #120

by calling pause() from the navigation methods instead of "manually"
changing the play button label and stopping the timer in each of them.
(This actually fixes another unreported bug that I just noticed as well:
None of these methods bothered to stop the reverse playback timer.)
Merge pull request #122 from lucaswerkmeister/fix-120

Fix 120