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