refactor slideshow to lib
support slide animation