custom horizontal scroller with gesture listener