add op/shape + tests
fix shader generation + make it match Cut semantics
update demo to reflect new cut argument order
enable op/cut in scene.js
condense floats into a vec3 in Sphere