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 measured some time back that this implementation adds a bit to the startup time and most of the cost was coming from the FavoriteGrid and HistoryList that are created immediately even though not necessarily opened immediately. Will profile a bit the startup time costs and optimize these also then.