WIP: get rid of in/out ambiguity

Note: I eliminated all the places where we were trying to allow shader
inouts.  These aren't allowed, and our grammar rejects them, so they
should never occur.
WIP: allow varying structs
Partial varying struct support.  TODO: disentangle and comment better.
Disable structure splitting for "in" and "out" vars.
Got the initial varying struct test to pass