[SYCL][NewOffloadModel] Add specialization constant's processing in clang-linker-wrapper (#21206)
This patch consolidates SYCL post-link functionality in LLVM Library in
added llvm/SYCLPostLink/SYCLPostLink.{h,cpp} files.
The ModuleSplitter interface is updated to follow LLVM practices where
output modules are passed to a callback for post-split processing. Some
utility functions are moved from ModuleSplitter to SYCLPostLink Library.
For SYCL, post-split processing consists of specialization constants
processing, ESIMD handling (not introduced yet), and saving result
modules to the filesystem.
The clang-linker-wrapper now uses the new generalized function
performPostLinkProcessing instead of splitSYCLModule directly.