sidebar: Select sidebar item based on stack property

We'll now automatically update the selected row, or "item" in our sidebar
whenever the visible child changes inside the associated GtkStack. This
means the widget now works in both directions, i.e. it's told what to do
and can tell GtkStack what to do, finally making it useful.