Infiniteload: refactoring for promise flow

Added new mechanism in infinitescroll to debounce using the lifetime of a thenable.
Refactoring InfiniteLoader to make use of that.