Impl ApproxEq for rotation matricies using macros
Add general `Dimensioned` and `SwapComponents` impls
Generalise noise methods to take generic `Dimensioned` types