[VECGEOM-268]: Better way to implement explicit SIMD interfaces
This commit is due to a proposal by G. Amadio and P. Canal using a clever template trampoline technique
It achieves the following:
- we offer the same interface and spelling on some functions for scalar and vector types
- compiles even in case the vector type is equal the scalar type
- no need for #ifdef protection anymore