Resolves: https://github.com/brave/brave-browser/issues/12906
Sidebar component manages persisted items list in pref store.
SidebarService does it and store items list is shared per profile.
In chrome layer, sidebar is implemented with MVC model.
They are SidebarController, SidebarModel and Sidebar and many views implementations.
Each browser window has its own MVC. So, BraveBrowser(subclass of Browser) owns them.
SidebarModel manages each item's runtime state and it observes SidebarService to get
notification about item add or delete.
This change only implements initial native sidebar UI.
Sidebar feature is disabled by default and can enable via brave://flags only on nightly/local build.
During the runtime, sidebar can be toggled via settings.
Sidebar webviews don't work properly yet because their WebContentsDelegate is not set properly.
Implementing WebContentsDelegate will be done as a separate task.