Provide builtin simple stepping MC
For various reasons it might be useful to provide a simple utility for doing MC stepping simulations in very simple geometries and with all physics models coming from NCrystal. The code for this might look very similar to the code used in the NCrystal component for McStas (NCrystal_sample.comp), providing just simple boxes, spheres and cubes as geometrical options as well as options for how to handle absorption and single/multiple scattering.
The code should be accessible from both python and c++, with array-based python interfaces so python-only projects can also easily perform such simulations. One idea is to potentially allow C++-level multithreading, for a speedup.
Potential applications for this feature which were already discussed in various fora are: the ability of ncrystal_inspectfile to produce angular distributions plots similar to those encountered at a neutron scattering instrument, usage at an upcoming school concerning scattering kernels under the https://highnessproject.eu/ project, and usage in a potential backend for https://easydiffraction.org/.