Refactor HtmlPreviewGenerator class

* rename enqueue() to markdownTextChanged()
* remember last generated Discount::Document
* turn markdownTextChanged(), setMathSupportEnabled(),
  setCodeHighlightingEnabled() and setCodeHighlightingStyle() into slots
* remove extrasMathSupport() and extrasCodeHighlighting() from MainWindow
  and connect the actions directly to the HtmlPreviewGenerator slots
* re-generate the HTML when math support or code highlighting change without
  parsing the markdown document again