Semaphore implementation with rate limit restriction for async-style (any core)

Rate limit semaphore for async-style (any core)
There are two implementations of rate limit semaphore. Live demo shows how FixedNewPreviousDelaySemaphore and FixedNewFirstDelaySemaphore work
Overview
import datetime
import ralisem
# Or another implementation
sem = ralisem.FixedNewPreviousDelaySemaphore(
access_times=3, per=datetime.