Instead of agents, use atoms

ClojureScript doesn't support agents, only atoms. Each signal's
internal state should therefore be managed by an atom rather than
by an agent.