Fixed huge error in inheritance.

Sound class did not have a virtual destructor! So shameful :(
When you instantiate a subclass polymorphically (ex: superclass A = new
subclass()), without a virtual destructor, deletion results in undefined behavior.