I see that I'm bringing up patches before having some design documents shared, debated and approved. So I will leave this patch here, ready, waiting for the decision on this.
Although support objects are already behaving different when a collection is
enabled or invisible, mesh objects behave exactly the same.
With this patch users can now disable a collection if they want a group,
boolean, ..., to not be rendered. Or they can enable it (assuming the
collection is visible) to edit those objects.
If we don't implement this patch I believe we will need to replace the collection
visibility with options such as visible to camera, visible to render, ...