Uses an option parser for flags. Adds force option

Uses an option parser to make the CLI more consistent.
Adds a force run flag to run zeal even if another session exists.
Fix: invalid method name parsing

Removes parameters from method. This fixes parsing error whenever parameters contained a separator element.
Fix: search field focusing bug

Clicking on the search box focuses on it correctly.
Fixes the feature where the focus click will select the entire query.
Adds a placeholder to the search text.
Adds homepage as a resource file.
Moves the escape event filter to a line edit.

Line edit will also be cancelled on ESC press.
Removes ESC as a global shortcut.

ESC will clear the search box if no other widget will consume the behaviour.
Makes some widget forward special keys like ESC to the MainWindow handler.
Adds name/prefix fields to docsets.
Begins adding the prefix handling capabilities.
Adds autocompletion hint

When the user starts typing a prefix a hint will show in the search field.
Arrows do not focus on the list view.
Adds a selection key.

When pressing '?' the current query will get selected in the main search box.
Fix: invalid support of webView for touch devices

WebView does not respond to any touch events.
Forces label repaint.
Fix: gets docset icon only if a docset name detected.
Simplifies the getModulesCount with a join.
Adds an iconset.
Recursively adds all docsets in zeal docset dir

Allows to symlink external docsets.
Refactors the docset info

Docset info is a separate class that should parse the .plist files with more information.
Gets the content root in docsetEntry
Uses the dockset info.plist to get the main name
Adds handling of external links

Allows people to click on external links and opens them in the default browser.