use std::function for call back

Use `std::function` for `TextureCache::addImageAsync()` to simplify the interface. It is a pity that can not keep compatible or it will make codes too complex and will slow down speed.