Making progress on external funcs finally
First time the external functions work correctly:

;; These two

(v-def-external aaa ((a v-int) (b v-float))
  (return (+ b (sin a))))

(defshader test ()
  (+ (cos (aaa 2 2.1))
     (tan (aaa 2 2.1))))

;; result in the following :D

float aaa_7v(int a_5v, float b_6v);

float aaa_7v(int a_5v, float b_6v) {
return (b_6v + sin(a_5v));
}

void main() {
(cos(aaa_7v(2,2.1f)) + tan(aaa_7v(2,2.1f)));
}

;; WOOOOOOOOOOO!
Compiler is in pretty good shape, need to start trying to break it
* added the x accessor..need to go add the rest
* made 'out' use merge-obs..I dont know why it wasnt before
* fixed bug where process-in-args and process-uniforms werent setting
  the glsl names
* fixed bug in environment class
* fixed bug in clone env
Things are getting pretty nice :D
* added y, z & w vector accessors
* fixed bug in cast-to where it wasnt using type objects