[clang][SYCL] Diagnose reference kernel parameters (#192957)
Per SYCL 2020 spec: Reference types are not trivially copyable, so they
may not be passed as kernel parameters.
This PR adds infrastructure for kernel object visiting and implements
diagnostics for reference kernel parameters.
The infrastructure will be also used for other kernel parameter
restrictions and functional code transformations that will be done in
separate PRs.
Assisted by: claude in unit test preparation
---------
Co-authored-by: Tom Honermann <tom@honermann.net>