Changed unique_ptr to shared_ptr
Code to apply all scalings. Most of it is pretty shoddy though and needs to be heavily reworked. Some filenames are even currently hardcoded.