Support looping the playback, controlled by a button.

One of my coworkers requested this functionality, and it was easy enough to "hack" in support.  After some testing I was reasonably happy with it, and think it's useful.

I'm not sure if it conforms to all that you have in mind for the code base, but I think I conformed to the style nuances that I noticed.  I'd be happy to rework it if you thought it useful but not quite what you would have intended.
(Also I noticed after pushing that the commit message wasn't quite worded right in the first explanation sentence, but I'm not too concerned about that I guess.)