changed how getWordsAndPhones() finds phones

In TextGrids with errors (overlapping intervals, silences spanning over multiple words), the loop can get stuck or iterate to the end of the tier without finding anything. This edit changes it so that for each word, it loops from the beginning of the phone tier to find the first phone that could belong to the word, then iterates through phones until it reaches the word xmax. This isn't very efficient but it means that getWordsAndPhones() only drops the vowels in the word(s) with the alignment error instead of dropping all following vowels.