[Refactoring] Switch to Smart Pointers
Replace pointers with smart pointers since most of the crashes are due to dangling pointers.
Qt also implements its own smart pointers although it will be a new thing to learn by anywho decides to work on SkywardHub.
Plus here is an article that compares the STL with Qt's implementation
https://aarondevelops.com/modern-qt-smart-pointers/
It cites that QT Smart Pointers do not integrate with move semantics but it is false since
they implement the logic since Qt 6.6 QPointer
We are currently using Qt5 so STL smart pointers are to be preferred and will be used in this refactor.
Edited by Raul Radu