[SYCL] Unregister `sycl::queue` upon destruction (#22314)
Currently, queue registers itself to the per-device queue list when it's
created but do not unregister itself when it's destructed. This causes
`ext_oneapi_wait` call to assert fail. On release build, it leads to
segmentation fault.