* memory: Add force reinterpret constructor to shared pointer
* memory: Change constructor to reinterpretPointerCast function
* memory: Add reinterpretPointerCast test
this unique pointer differs from the STL, because it allows weak pointers to it, which cannot be lock()ed.
under the hood, it's just a SP that cannot be referenced.