Return new scopes array for each line tokenized

Downstream consumers may tweak the tokens returned and it shouldn't
affect future lines tokenized which would happen if the same array
was pushed each time.