Added expressions with var substitution.
Using std::expected to handle errors.
Usage example:
auto val = Hyprutils::Expression::eval("5 + 5 * (2 / w)", {{"w", 10}});
if(val)
doThingWithValue(*val);
if(!val)
std::cout << val.error();
* 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