There's a screenshot of an app I'm working on. I just put together the selecting the point on the gpx to start from and the highlighting tonight. I started with the overall timer function that will track the time until the next 1, 2, or 3, turns (it's selectable in settings from 5-60 seconds) and then alert people to the turn. It's speed sensitive so it uses your speed to calculate the time until the next gps point and then alerts you at the alert intervals you've set.
The "Next" button is going away soon since I now know how to programmatically click and you can select a row in the list and start from any GPX point.
It does the audio text to speech for directions as well but I have found that I'm going to have to run things through a translator of sorts so "Grouse Dr" becomes "Grouse Drive" instead of "Grouse Doctor".
One thing to note... it doesn't use map downloads at all. It's made to be EXTREMELY frugal on battery usage.. even going as far as using passive updates (it pulls gps updates from other apps on the device) and slowing down GPS updates when there's a significant distance till the next turn.