Trim down dataForPath.
Prefer arrays in place of slices in primitive readers.
Simplifiy completion loop for channel outputs.
Array literals for pointer arrays.
Change variable names for readShaderList.

tcs is from reading texcoord lists, should be shaders.
Move surface list reading out of readSurface.

Also removes the completion loop since there's just one thing to
receive from each output channel.