Significant speedup with preloading

- The evaluator is started in the separate thread during
the Scotty initialization phase
- Communication is done via Control.Concurrency.Chan:
  newtype EvalQueue = EvalQueue (Chan (FilePath, MVar EvalResult))
Errors are now properly propagated
Serialize instances for Display
Eval errors are now propagated

- Serialize instance for EvalError
- [EvalError] is propagated through files