Add `visibility_control.h` to the API as standard usage

Yes, they are identical, except the name.

As in some cases, you’d need to be able to control how specific projects either import or export symbols.

Note how it says: “for this library”.

I’m not saying the situation cannot be improved. I just answered your question: why are these files copied?

(we could consider creating another layer of macros that only takes a name and then specialises a template, another possibility could be to use CMake’s GenerateExportHeader module (but there may be requirements/constraints that made this impossible/undesirable for the ROS2 codebase))