added position and slide tracking for reveal.js
dash line is undecided space now
prevents too many slide switches
Merge branch 'feature/reveal.js_slide_position_tracking' of https://github.com/hicknhack-software/CuteMarkEd into hicknhack-software-feature/reveal.js_slide_position_tracking
Moved line to slide mapping logic to separate class

Moved the logic for the line to slide mapping from the MainWindow into the separate SlideLineMapping class and refactored the code to be more "Qt-like".

Refactoring of #181
Add first unit tests for SlideLineMapping class
Add lineForSlide() method and update slide separator logic

Add lineForSlide() method that returns the line number for the passed
slide and use it in MainWindow.

In template_presentation.html we setup the slide separator to be
surrounded by empty lines. The logic in SlideLineMapping is adapted
accordingly and new unit test were added.
Add slideForLine() method and more unit tests

Add slideForLine() method to the SlideLineMapping class. It returns the
slide for the passed line number.
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.
Add ViewSynchronizer implementation for HTML preview

Add implementation of ViewSynchronizer class that synchronizes the
Markdown editor with the HTML preview and move the code from MainWindow
class to HtmlViewSynchronizer class.
Merge branch 'feature/slide_position_tracking' into develop