Remove group_fix_hidden_state()

Because it's now possible to select empty groups, there is no need to alter the
stacking order of clients.
Group toggle:  Allow showing/hiding empty groups

The definition of showing/hiding empty groups has changed; empty is defined as a
group with no clients on it.
Window search menu: mark group as active

When selecting a client via the window search menu, mark the group as active.
Rework how active groups are found

Rather than rely on the currently visible clients to determine the groups that
are active, instead look through all groups and use their hidden status to
determine if they're active or not; this allows for indicating active groups
with no clients.