LavObject: clean up outputs at distruction
Update private_objects.hpp to completely use shared_ptr
Objects.cpp: rewritten to use shared pointers
Memory helper module: knows how to hold smart pointers for external handles
Wired the memory module into initialization
LavObject no longer inherits enable_shared_from_this
Update objects.cpp to use the memory module
LavDevice no longer inherits from enable_shared_from_this
Update private_devices.hpp for shared pointers
We're using shared pointers, so LavObject constructor can no longer associate to the device for us
Update device_negociation
Updated devices.cpp for shared pointers
Convert portaudio.cpp to use smart pointers
Sine.cpp converted for smart pointers
Converted mixers to use smart pointers
Converted the hard limiter
Converted file to use smart pointers
Converted attenuator to shared pointers
Reenabled all nodes save hrtf in the build
Fixed a bunch of compile errors