text: Title: Make EvaluationRunResult work without pandas
  Body: Refactor `EvaluationRunResult` to run without depending on pandas Dataframe. 
  
  - Add an option to make the return output a `.csv` instead of dataframes
  - Make a LazyImport for `pandas.Dataframe`, which should be triggered if the functions are to output results in data frames
  - Remove the dependency on the base class `BaseEvaluationRunResult`
  