Use AutoTimer instead of Timer, and add some more locking.

Change-Id: I83a99e333a6c62bf7779e3fbbcc3e5af38bb2ca5
slideshow: Don't assume anything about the duration.

Let the player decide what to do when the duration is zero, and start()/stop() was called.

Change-Id: I17027349e8d61f7b114e193a769402c04a64f3f3
First stop the timer, then the animation.

Change-Id: Icd5f9f4b8e1c48176fdb73c954e1c4b7d0811516