[Profiler] Eliminate transitive include of profiler implementation headers. (#80564)
This PR hides `torch/csrc/profiler/collection.h` and `torch/csrc/profiler/kineto_shim.h` from the public headers by forward declaring the symbols in `profiler_kineto.h` and hiding them in a unique_ptr.
I want to directly use Kineto symbols (specifically, the enums) in profiler; however without this change they leak into the PyTorch public headers and that's no good. Thus, we have to break that dependency.
Differential Revision: [D37365997](https://our.internmc.facebook.com/intern/diff/D37365997/)
Pull Request resolved: https://github.com/pytorch/pytorch/pull/80564
Approved by: https://github.com/aaronenyeshi