General CMake cleanup/overhaul
* Enable precompiled headers for all projects
* Move specifications itto separate CMakeLists files
* Add openspace-core as a subdirectory
* Move handle_modules functionality into modules/CMakeLists.txt
* Move handleapplications logic into apps/CMakeLists.txt
* Introduce openspace-module-collection interface library to simplify inclusion of modules in applications
* Turn module initialization into a two-step process to adapt to the new minimal dependency scenario
* Compile time speedup
* Remove circular dependencies between modules and core preventing multithreaded compilation on MSVC
* Build Spice multithreaded and as static library
* Remove dependency from core to module-webbrowser
* Remove unused dependency from kameleon
* Remove additional unnecessary dependencies
* Cleanup volume/kameleon/kameleonvolume modules
* Fix visibility issues. Restrict include paths
* Compile kameleon in parallel
* Other cleanup
* Only copy CEF files from one target (hard-coded to OpenSpace right now)
* Remove unused instrumentation code
* Remove the ability to render AABB for globes as it caused a circular dependency between GlobeBrowsing and Debugging
* Removing compiler and cppcheck warnings
* Turn almost all includes into non-system includes
* Don't warn on deprecrated copy
* Updated submodules
* Cleanup
* CMake cleanups
* Update current year
* Update copyright header
* Use script to return list of all modules
* Update credits, license and ghoul
* Make height map fallback layer work again
* Add documentation to joystick button bindings
* Removed grouped property headers
* Add new version number constant generated by CMake
* Make Joystick deadzone work properly
* Change the startup date on Earth to today
* Fix key modifier handling
* Add debugging indices for TreeNodeDebugging
* Fix script schedule for OsirisRex
* Do not open Mission schedule automatically
* Upload default projection texture automatically
* General code cleanup
* Fix check_style_guide warnings
* Remove .clang-format
* MacOS compile fixes
* Clang analyzer fixes
* Add initializeGL and deinitializeGL methods to OpenSpaceModule Call releaseAll from ProgramObjectManager in deinitializeGL to guard against errors when deinitializing assets
* Change removeProgramObject function in RenderEngine to take a non-owning pointer instead of a reference to a unique pointer to make it compatible with the ProgramObjectManager
Update Ghoul repository
* Using ProgramObjectManager in more modules to reduce the number of programs compiled at startup
Merging Dashboard branch that introduces the Dashboard, DashboardItem and moves most of the screen rendering code into a component-based layout that can also be displayed as a screenspace renderable
* Add Onscreen Dashboard
* Add Dashboard class
* Add DashboardItem classes and subclasses
* Added font and fontsize customization to dashboarditems
* Add default dashboard specifications to all scenes
* Add tests.scene to test dashboard items
* Add configuration options to DashboardItemDistance
* Fix distance conversion to correctly use singular or plural values
* Make DashboardItems unique when adding them to a dashboard
* Correctly position test with different font sizes
* Add Dashboard Item that enables spacing between other items
* Add performance measurement to dashboard rendering
* Add method to DashboardItemDistance that computes distance to surface
* Add DashboardItemAngle that computes and prints the angle between three objects
* Add DashboardItemInstruments that shows the instruments on New Horizons
* Add ability to OpenSpaceModules to return a list of Luascripts defined by child objects
* Make it possible for ScreenSpaceDashboard to work with its own dashboard or the main one