Split interface to provide the size seperatly. Change interface on `PreloadModelProvider` so preload items will requested one by one.
 - introduce new interface `PreloadSizeProvider`
 - change `PreloadModelProvider` preload items will requested one by one.
 - adapt Tests
 - adapt Samples
 - add two sample implementation for `PreloadSizeProvider`
      - `FixPreloadSizeProvider` to provide a size with a fixed width and height
      - `ViewPreloadSizeProvider` provide a size request from a given view using a `OnPreDrawListener`