New function split() factors out the tensor splitting part from set_canonical(), to be reused with MPO.