Use symengine llvm visitor if possible
AFIU, the llvm visitor should evaluate expressions faster than the normal visitor. This MR just implements this visitor as done in the symengine tests. I am not sure if the CI in GitHub actions will take this somehow.