Maybe you'll have more success with this idea than I have (way too many other things in the way sadly): something that may be fairly nontrivial but very cool to solve would be breaking words down into syllables, identifying the syllable boundaries in the speech (... xD), and then synchronizing the display on each syllable as it's presented.
How are you synchronizing to each word?
I wonder if Google would consider expanding their TTS a bit to provide syllable data and other rich breakdown information.
I like the waveform, btw.