Mgheata/vecgeom 415
Implementation of tessellated solid
First implementation of tessellated solid following solid conventions, providing benchmarker, visualization, scalability tests, unit test. This version applies vectorization at 2 levels: top level navigator (on 2 levels) for groups of bounding boxes, and low level helper for clusters of tessellated facets. This gives very good performance compared to Geant4/USolids implementation up O(100K) facets (https://its.cern.ch/jira/browse/VECGEOM-415) but has scalability issues beyond that.
Pending issues after this merge:
- add support for CUDA, now missing since HybridManager2 is not ported to CUDA (using std::vector and std::pair)
- add voxelization helper (maybe similar to the one in Geant4), to be activated for very big number of facets
- add a clusterizer with N*log(N) scaling rather than N^2 in HybridManager2, now penalizing a lot initialization time for O(1e6) facets