Fixed an issue where adding node children would require recursive type parameters

Also, SoundStreamSettings is now passed by value instead of reference. It only contains several primitives, so this is probably a lot faster than passing by reference and dereferencing on every occasion that the values are needed. Added some dummy structs to the test file to show how the Node trait can be implemented (though they don't yet generate any sounds - i'll get around to a proper example soon).