Bug 1029198 - [ringtones] Ringtone Manager should visually indicate whic...

...h ringtone is being previewed
I found this code very hard to understand.  When you pass a callback to a function like this, it is almost always a callback that will be called once and only once. The fact that you're passing a callback that will be called twice was hard for me to get.  I think it would be clearer if you defined the setTone() function to take three arguments: a tone, a playing callback and a stopped callback.