The throttle is an implementation detail of mediaStreamer, not a
dependency that needs to be injected. Remove it from the constructor
and wire providers; create it internally via a singleton. This
simplifies the API and keeps Release() unexported.
- Use sync.Once to ensure a single shared throttle instance across
all wire-injected consumers (subsonic + public routers)
- Optimize Acquire() fast path: TryAcquire before touching the atomic
backlog counter, avoiding unnecessary atomic ops when slots are free
refactor(stream): use singleton package for TranscodingThrottle