fork from https://github.com/CoderMJLee/MJRefresh and https://github.com/samvermette/SVPullToRefresh