LRU cache in Go with automatic memory usage based eviction