This method is called to evaluate expression the user submits in the evalutaion window and after the user clicks execute. It spawns a thread to do the actual evaluation.
In the evaluation thread, with the parameterization in param the s-expression expr is evaluated, and then the after function is run. The after function is passed #t if evaluation did not raise and error and #f if evaluation did raise an error.