nir/serialize: Don't access blob->data directly
It won't work if the blob is fixed-size and we overrun the size, which will be the case with the Vulkan pipeline cache.
This gets a bit tricky for the repeated-header optimization, because we can't read the header from the blob. Instead we have to store the header itself.