Add the Settings dialog.
Add the Main settings section.
Add an API to add custom settings section. Close #604.