Add support for recursive thumbnail calls.

Fixes #149
Don't use a weak ref in LocalUriFetcher.
Move get bitmap size bytes into Util.
Make MemoryCache use Resource not EngineResource.
Add a basic pre-filling api.
Clean up util, make Bitmap size methods consistent