A block-based UIScrollView alternative which runs a handler block when scrolling, instead of using delegation. also notify the direction of the scroll and miscellaneous state