feat: allow for different builder and runtime images
This PR enables the use of a different builder and runtime image. For example, the builder can have a full CUDA development environment installed, and the runtime will have the CUDA runtime. Use case is for smaller pipeline images where a significant amount of time is spent on loading the containers.