Add Settings UI and update settings when change

Add ui for boolean and string properties and refactor some code.
Add UI for dictionary Settings

Also, open settings in new window