GtkStack: split homogeneous

Split homogeneous into separate hhomogeneous and vhomogeneous
properties. vhomogeneous is what we want for popover menus.
Use GtkStack:vhomogeneous for popover menus

This allows us to get rid of a size group.
Test h/vhomogenenous in teststack

Add separate checkboxes for hhomogeneous and vhomogeneous.
Make GtkModelButton public
Make GtkModelButton a better GtkActionable

Rename the "toggled" property to "active", since that is what
GtkActionHelper expects to update for check and radio actions.
Also make the property readable, since GtkActionHelper wants
to read it.
Add a manual popover menu example

Reproduce the testpopover popover manually, by packing model
buttons into a stack in a popover.
Add GtkPopoverMenu

GtkPopoverMenu is a GtkPopover subclass that has a menu-like stack
built-in.
GtkModelButton: Add a menu-name property

Add a menu-name property and use it in a default implementation
of ::clicked to switch menus if we are inside a stack. This means
GtkModelButton is no longer entirely generic, but rather expects
to be used inside a GtkPopoverMenu. It still works in other contexts
too, of course.
Adapt the testpopover example

We now use GtkPopoverMenu, and just add the model buttons
directly to it.
Drop GtkModelButton:has-submenu

Replace the has-submenu property with checking menu-name != NULL.
Adapt the testpopover example

Drop all uses of has-submenu.
GtkModelButton: Drop unused :accel property
GtkModelButton: Rename action-role to role

Rename action-role to role, and make all properties readable.
Adapt the testpopover example
GtkModelButton: Don't require an explicit role

When we have an action-name, we can deduce the role from the
action that is looked up by the action helper.
Adapt the testpopover example

Drop all all explicit role setting from the testpopover example.
GtkPopoverMenu: Simplify

Change things so each submenu is a single child, and users are
required to create the box themselves.
Adapt the testpopover example

Add the required boxes for each submenu. We now need to specify the
submenu name only once per submenu.
Add documentation

Document GtkModelButton and GtkPopoverMenu.
Add a scale to the popover menu example

Demonsttrate that this is flexible enough for the intended uses.