UI - Cleaned up home page
Overlay module - Removed test activation requirements
Debugger - Fixed rendering image scaling
Surface editor - Attempted to fix movement of devices without a layout
UI - Fixed all the memory leaks I could find, closing the UI now frees a lot of RAM
Noise brush - Decreased memory usage by removing unused 4D noise
Layout editor - Fixed device properties not always applying
Brush properties - Added default values
Brush properties - Removed option to always auto-expand groups
Layer properties - Remember expanded/collapsed groups
Storage - Added migration system
Storage - Added migration that removes profiles made in the old layer properties format
Layer timeline - Added back zoom functionality
Profile editor - Re-implemented LED dimming
Profile editor - Hide layer bounds of unselected layers
Profile editor - Dim layer shapes of unselected layers (option to hide them NYI)
Profile editor - Disable edit tool when no layer is selected or the selected layer has no LEDs
Gradient picker - Fixed the preview being at a slight angle
Color brush - Fixed the gradient being at a 45 degree angle
Settings - Added color scheme option to manually switch between light and dark
Core - For now, set default log level to debug
ColorGradient- Improved GetColor performance
ColorGradient - GetColor now handles colors not between two stops properly
Home - Fix links
Plugins - Only allow layer property registration through Brushes
Color brush - Default to solid color
Color brush - Added default values
UI - Replaced OnActivate overrides in screens with the more appropriate OnInitialActivate
Tray icon - Fixed empty window appearing for half a second on startup
Core port - Updated projects to new project layout
Core port - Changed the way devices are identified to be consistent across different frameworks
Core port - Updated plugin system to no longer use AppDomain but AssemblyLoadContext (through McMaster.NETCore.Plugins)
Core port - Renamed a few events to keep Fody from getting confused