Long live ViewSynchronizer!

A ViewSynchronizer implementation is responsible to keep the Markdown editor and the HTML preview in
sync regarding its position. Currently there is just the RevealViewSynchronizer implementation for this base class.

Refactor the MainWindow class and move all code regarding the view synchronization to the RevealViewSynchronizer class.