Moves genbuf into kthreads

So we can have independent syscalls from the same process in the
kernel...

We should consider finding a better way to do the genbuf.  Though I
guess it's not as bad as the waserror()/poperror() stuff on performance.