[WebGPU] WebGPU should have a shader cache to avoid unnecessary recompiles, specifically translation from WGSL -> MSL
<rdar://problem/116739285>