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
One could say not but there are two reason why I it better this way. It's explicit that what's the flickable that this VerticalScrollDecorator follows. In addition, without this the VerticalScrollDecorator would need to do some work to find the flickable from the parent chain.