GdkGLContextX11: Don't free NULL visual info
Drop an unused variable
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.
GtkPopoverMenu: Add API to open a submenu

This allows alternative menu switching to be implemented, besides
the builtin GtkModelButton support.