* signals: make CSignalT API compatible with CSignal
Also fixes emitting reference types
* signals: add a lot of tests
* animation: use CSignalT
* signals: automatically const-ref non arithmetic value types
* signals: allow listeners to ignore args
* signals: add forward()
* 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.
* Added some constants to handle floating point presicion comparisons and other calculations plus some refactoring
* Removed validation
* Added comments to understand how box header works
* Extended the EXPECT macro to evaluate Vector2D test cases
* Added box.cpp test cases
* Applied clang-format