Accept cache creator function

Sometimes it's necessary to have control over the LRU cache object used, from outside of the locking-cache module. For example, if you want to use some of lru-cache's methods like `.del()`

This tweak allows you to optionally pass a function as the options argument which will instantiate and return an instance of lru-cache.