With this, we can fix brave theme related bugs with multi profile
because all profiles use browser-wide prefs.
So far, system theme could be changed whenever new profile is used
because brave theme was profile prefs but system theme is browser
wide setting. And did cleanup and refactoring.
Refactoring point is separation of theme managing and dark mode managing.
So far, theme service has all dark mode handling logic.
But I think theme service handles browser theme with underrlying dark mode.
So, all dark mode logic is in dark_mode namespace.
fix https://github.com/brave/brave-browser/issues/5373
fix https://github.com/brave/brave-browser/issues/5557
When devtools_ui_bindings target is built, BraveDevToolsUIBindings
added more dependencies that are not included in chrome_child.dll.
To fix this, //brave/browser/devtools target is separated from
//chrome/browser/devtools and it is added in the deps list of
//brave/browser/ui targets because it is only used from it.
When devtool ui is loaded, kDevToolsPreferences pref values are fetched.
In that dictionary prefs, uiTheme represents theme type(light/dark) of devtool.
To apply brave theme type to devtools, uiTheme value is replaced with brave
native theme type. If user sets devtools' theme type explicitely, that value
is used instead of brave theme type. Otherwise, brave theme type is applied.