[surface] Mixed precision transformations
This MR adds a templated version of Transform3D, called Transform3DMP (for mixed precision). In the surface model, only the mixed precision transformation should be used. Using mixed precision, a simple box is ~30% faster on GPU (RTX2070) than full double precision, while having no traverse errors. Note that other shapes, especially booleans, have not been tested yet. Furthermore, it has to be understood why compiling in full single precision is > 2x faster on GPU.
This MR does not change full double precision performance.
The initializer_list had to be introduced since otherwise the direct initialization of a templated transformation was not possible.