Comparison operators which compared against every class member variable now use C++20's default comparison operators. Also remove operator!= that in C++20 is now auto-generated from operator==.
This uses std::is_constant_evaluated() to conditionally use the gcem library for constexpr calculations.
Also clean up 2D geometry documentation.