When a scroll is unable to complete by moving text up or down, the timer
continues to run. Every tick it attempts to scroll the text.
This happens if you are on the last paragraph and click scroll. The
page scrolls upwards until it can no longer scroll. It locks there.
The timer keeps trying to move the text, but that is not visible.
When the user goes to the next section, the scroll is still running and
will continue the scroll. If the new section is shorter than the
previous section, the scroll will never stop.
Fixes: #5
Create a Preference dialog for fonts and audio output devices
Turn Preferences and SoundOff into singletons. No matter how many times
you request a new one, the same instance is returned.
Stop using singals on the parent() to access other instances, such as
sound and Preferences.