* Add JSON string configuration field to RGBController to store device-specific configurations
* This JSON string holds both configuration and schema
* Add settings schema tracking to SettingsManager
* Implement dynamic settings widget that generates a settings UI based on a JSON schema
* Implement SettingsManager callback for notifying of settings changes and settings schema updates
* Always enable Entire Device zone option and use it to enable Edit Device
* Rename SaveSizes to SaveConfiguration in ProfileManager and Sizes.json to Configuration.json
* Add zone flag for indicating that a zone's geometry may change, informing profile manager to ignore this check
* Remove Theme setting and Theme Manager, as this didn't work on most setups anyways and Qt6 has proper Windows dark theming
+ Adding Accessory icons for light and dark theme
+ Adding entry into OpenRGBDialog2 to display icon
+ Creating `Accessory` category in "Supported Devices"
+ Adding microphone icons for light and dark theme
+ Adding entry into OpenRGBDialog2 to display icon
+ Creating `Microphone` category in "Supported Devices"
+ Changing Razer Seiren Emote to a `Microphone`
Logitech G560 Speaker working with Direct Mode using same bits as the Logitech Ambilight and Audioviz. Other modes are not working (get) as expected.
Note: G560 Direct mode is slow because Logitech hardware implementation but it is working.
Changing volume at the same time colors are changing can reduce FPS because G560 uses the same channel for led and audio modes commands.
Commits squashed and amended for code style by Adam Honse <calcprogrammer1@gmail.com>