added new Cache class, extracted from Browscap class