javascript cache library with configurable storage