* 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
if we dont decrement the sharedptr on destruction any weakptr remaining
will have an impl_ with a ref of 1 and upon destruction of the weakptr
it wont delete the implentation because it thinks a shared pointer still
exist.