webui: Add initial user interface components
core: Ensure user modified settings are the right type
webui: Add functions for comparing dicts
webui: Use get method instead of accessing data property
webui: Shorten identifier of reference to preference page
webui: Implement loading of preferences
webui: Implementing saving of preferences
webui: Refactor
webui: Fix preference page not removed
webui: Revert to initial setting value if setting disabled
webui: Move initial settings object to settings grid
webui: Remove trailing commas
webui: Cancel edit if cell is a checkbox
webui: Autosize all columns except name which will be autoexpanded
webui: Add empty text for settings table in case data not loaded yet
webui: Synchronize client with core not during init but after being connected
webui: Disable enabled record if not in settings
webui: Refactor
webui: Refactor
webui: Refactor