spirv: Handle OpTypeOpaque
The resulting type can't actually be used for anything, but it gets generated from simple kernels like:
struct opaque;
__kernel void main_test(__global struct opaque* inout)
{
*(__global uint*)inout = 5;
}
We just need to be able to produce pointers to it, so it needs a minimal amount of info.