InfiniteLoader: load chain refactor

This refactor tries to make use of infinitescroll's behavior of waiting
for a promise if handed a promise generator. This way the tracking of
loading is not the burden of InfiniteLoader.