Refactor waterfall view implement.

Depreate the Storage and View, using a CachedBitmap to manage the
waterfall item's content.

After this refactor, you can using the waterfall widgets independently.
Move the temp file to cache directory.
Refactor Resource Loader.

Using Request and callback, instead of static listener.
This is prepare for the ferther refactor.
Refector Resource loading path.

Seperate the Photo list loading and the photo content loading.
Let WaterfallItem manager the CachedBitmap itself, instead of manager by
PhotoStorage. So the PhotoStorage is been removed.

Merge the NetworkPhotoLoader's network photo loading work to PhotoLoader.