graph-stack-switcher: Better change active button on scrolling

With this commit GraphStackSwitcher will switch active button
when subview will occupy more than half of displayed window.

This too solve problem when is last subview smaller then half of
window but window is scrolled to the end using bottom tolerance.

This is much more intuitive for users and gives it a sense of user
experience.
2 jobs for disk-io in 2 minutes and 43 seconds (queued for 1 second)
latest
Status Job ID Name Coverage
  Build
passed #267821
build

00:02:43

failed #267822
build-flatpak

00:00:15

 
Name Stage Failure
failed
build-flatpak Build
Using Docker executor with image registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master ...
Pulling docker image registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master ...
Using docker image sha256:91e37f9aab76d0db69deee758109c560bfc94d519bd3af6df376b5fcc3919c62 for registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master ...
Running on runner-d836cf30-project-332-concurrent-0 via gcc150.bak.milne.osuosl.org...
Initialized empty Git repository in /builds/pstetka/gnome-usage/.git/
Fetching changes...
Created fresh repository.
fatal: unable to access 'https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@gitlab.gnome.org/pstetka/gnome-usage.git/': Could not resolve host: gitlab.gnome.org
ERROR: Job failed: exit code 1