Do not move the GpuSubtensor to the GPU when this do not make sence

In some cases, we do not want to move the Subtensor to the GPU. But we do not want to block the bubble. So we need to keep it. Making this opt return node.outputs[0], is like making it do nothing. (no change in the graph). I think their is code that check for that and discard the useless change. This still block the bubble. So we need to create a new bubble.

The condition on line 354 should prevent all loop. It check if there is the bubble of GPU stuff. In that case, it do not add a new bubble.