Both GPURenderPassEncoder and GPUComputePassEncoder have .end()
methods, and they're not supposed to be used after calling end.
JS doesn't have an ownership model so there's no way to enforce that it's never used again on a type level, but since wit does have an ownership model should we make end take ownership?