make go accept a function and arguments instead of a generator; add spawn which has the old behavior of go
fix ring buffer not being define locally in buffers module