New widget: adaptive view switcher
Related epic: https://source.puri.sm/Librem5/use-cases/issues/68
Our regular stack switcher pattern doesn't work on mobile sizes, because
- it uses horizontally stacked text labels, which means it can grow quite wide depending on the language
- often there are buttons in the header bar in addition to the switcher
- it's at the top of the screen, which is hard to reach on mobile
The proposed solution is a new switcher which uses an icon in addition to the label, and changes its layout depending on the available space. At large sizes, the icons and labels can be stacked horizontally, but at smaller sizes this can be changed to vertical, with a smaller text size. On very small sizes, which are mostly used in the portrait orientation on phones, the switcher moves to the bottom, both to have more space and be easier to reach.
Mockup sources here: https://gitlab.gnome.org/Teams/Design/os-mockups/tree/master/view-switcher
Needs #100 (closed)
Related feature: https://source.puri.sm/Librem5/use-cases/issues/52