Introduce launch config factory pattern
- update GpuKernel to receive a launch config factory. - Update gpu-indexing to provide one. - Update cupy-jit to expose and evaluate the launch config
- update GpuKernel to receive a launch config factory. - Update gpu-indexing to provide one. - Update cupy-jit to expose and evaluate the launch config