[SYCL] Refactor kernel name based data approach (#19117)
- Rename `KernelNameBasedCacheT` to `DeviceKernelInfo` as that reflects
its usage better and avoids the confusion with kernel caches.
- Make the data presence unconditional by looking it up at runtime as a
fallback. This consolidates the if branches into one and saves us a
couple of map lookups with old applications.
- Add compile time kernel information to the struct (unused for now).
- Switch to eager initialization of the runtime data members.
- Add cleanup of data instances when unloading a library.
---------
Co-authored-by: Andrei Elovikov <andrei.elovikov@intel.com>