[DeviceASAN] Enhance out-of-bound by checking shadow bounds on global memory (#20079)
Record the boundary of mapped shadow memory (VA), so that we can check
if accessing unknown address address is an out-of-bound access.
Usage:
```bash
clang++ -fsycl -Xarch_device -fsanitize=address -Xarch_device -mllvm=-asan-spir-shadow-bounds=1 demo.cpp
```
Misc.
- Runtime option `detect_locals` and `detect_privates` has been
deprecated. Just using compiler flag to disable these checkings is
enough