Add some first work on skin caching.
It works pretty much, but I guess there can be still some problems with the concurrency stuff