An audio node trait, allowing a sample_rate to be set and processing to
be performed. Some things like setters are self, not mut self, because we
need to support Arc so upcasting works. This will be fixed when
https://github.com/rust-lang/rust/issues/65991 is fully finished and in
stable rust. When that happens, the interface will change to &mut self
methods.