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
* Removal of ChunkRenderer, ChunkedLodGlobe, ChunkCuller, chunklevel evaluator, culling classes, layershadermanager, GpuLayer, GPUData, ChunkNode, Grid, BasicGrid, Chunk files, Angle, AABB classes, PointGlobe, Ellipsoid, TileSelector, tiledatatype, iodescription, simplerawtilerreader, rawtilereader
* Less dynamic allocation for SkirtedGrid, LayerManager, RenderableGlobe, TextureUnit
* Clean up memory management in RawTiles
* Code simplification
* Optimize shader uniform setting
* Introduce UniformCache
* Callback simplification
* Turn ChunkNode into a struct
* Use a MemoryPool to organize all ChunkNodes rather than use unique_ptr and the necessary memory allocation
* Collect draw calls
* Consolidate fragment shaders between local and global renderer
* Shader cleanup and optimization
* Update CMake to not include included shaders
* Integrate traversal function into the looping
* Replace std::queue with std::vector
* Merge TextureContainer into MemoryAwareTileCache
* Lazy computation of chunk bounding boxes
* Memory management of LayerGroup
* Remove class hierarchy from tileproviders (temporaltileprovider not working yet)
* Remove PBO classes
* Chunk status stored in Chunk
* Don't create a copy of the ChunkTilePile
* Enable culling by projected area on default
* Have raw tile reader return a Tile instead of a shared_ptr to a tile
* Start making GDAL mandatory
* Increase the default lod scale factor to 15
* 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