Added doxygen documentation file
 - Added doxygen configuration
 - Added custom doxygen theme
Added intial documentation for IConfig.
Merge branch 'feature/doxygen' into develop
Documented most of Base classes
Adds stubs of missed interface types.
Fixes crash in config value retrieving when user config doesn't exist.
Revert "Adds stubs of missed interface types."

This reverts commit 6b3d948f97eef8918f3fe29569609ffb77504b9f.
Fixes incorrect null checking of dynamic object in Config.
Reduced the .NET framework requirement from 4.5.1 to 4.5.
Added support for multiple levels in menus via GroupItem actions.
Reworked API:
 - only one [ExportCLASS] attribute is now required to export something
 - Fallback Tab metadata is not longer specified in the Tab but it is itself something constant in TabService
Improved fallback tab by providing a default tab with a default view
 - Prevents crashing of the program if no "default_tab" is specified
 - Does not allow plugin developers to redefine a fallback tab
Merge branch 'feature/api-rework' into develop
Fixing empty tooltip in Actiongroups
Tabstrip is not visible when there are no items
Implementation of AvalonEdit which overwrites the old text editor.
Adds line numbers to the EditControl. Introduces 'show_line_numbers' config parameter.
Improvements in config loading.
Added additional configs to AvalonEdit.
 - @DanPristupov I have made this way to prevent reimplementing configuration changed event in every tab
Made the whole top menu dynamic using Action Groups