Include nested subgroups in groups' children.json when `active` is false
See https://gitlab.com/gitlab-org/gitlab/-/issues/467265 for more context.
https://gitlab.com/gitlab-org/gitlab/-/work_items/525633 adds a new `active` parameter that will filter out group descendants by their status. However, it currently only return direct child groups and projects.
For https://gitlab.com/gitlab-org/gitlab/-/issues/442906, we need to return any nested subgroups and projects that matches the `active=false` filter and display the results in the `Inactive` tab.
Consider this group structure:
* `Parent` \> `Child A` \> `Inactive A`
* `Parent` \> `Inactive B` \> `Child B`
When fetching `/groups/parent/-/children.json?active=false`, we want to return all the matched inactive subgroups and their descendants.
* `Inactive A`
* `Inactive B `\> `Child B`
## Acceptance Criteria
When `active=false` is set, the result should meet the following:
* The endpoint should only return the matching inactive subgroups and their descendants
* Group ancestors (parent) that does not match the filters should not be returned
* Existing functionality should remain intact for other filter combinations
See https://docs.gitlab.com/development/namespaces/ for more information about namespace (group/projects) hierarchy
task