New browser user interface

Pre-review pull request. There are still things to polish.

There are plenty of commits due to several reason. Design has evolved, I haven't picked commits to master, and some commits just do not fit for master (e.g. due to tab model changes).

What's missing / known not to work yet:
- Cover when no tabs available
- There are likely some code duplicates
- Startup time is not yet optimized
I'd rather not if it is ok for you. Both of them have different kind of acceptance criteria. In addition, compilation cost of BookmarkEditDialog is ~4ms so the benefit is rather small but still something.