Disentangle presentation compiler and Scala project

The goal of this PR is to allow instantiating a presentation compiler with different settings than those in a particular project. See individual commit messages for details.

This isn't a simple refactoring, there is one change in functionality (replacing a status handler for missing Scala library with a quick-fix via marker resolvers).
@huitseeker, you are right that after these changes there won't be any UI nor marker for PC crashes when there *is* a Scala library. However, the error shows up in the `Error Log`, which I think is probably appropriate, since this can only happen if:

- there *is* a Scala library on the classpath
- there's a binary incompatibility or missing class in the library, but in that case there would also be error markers for incompatible  cross-compiled libraries

I feel the error reporting mechanism isn't worth it (atomic boolean to stop cascading, status handler to handle UI threads), and the `Error Log` is good enough.