A buffered channel backed semaphore implementation for Go