* change signature for rolling-translate from (args stages) to (in-args uniforms context stages)
* change signature for translate from (args body) to (in-args uniforms context body)
* remove v-def-external
* change signature for %v-def-external from (name args body) to (name in-args context body)
* remove the 't' case from v-defun, it didnt seem to be used anywhere
* moved defining special functions out of v-defun, it now lives in v-defspecial
* v-defspecial is not allowed to use &body
* v-defspecial and v-defun now use v-make-f-spec, makes everything more consistent

Now to get all this compiling :)
* split-arguments was hardcoded and dumb, fixed that
* v-defspecial needed to support &key and &optional, should do now
* split-arguments has a optional template arg which is now used
  correctly in the various places that it was messed up
* split-arguments was moved to utils-v
Fixed up more mistakes in how v-make-f-spec should be use, compiles the
most basic shaders again now, need to test larger shaders though.
more prelim work