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).
I think `projectName` would not be better, since we might use a proxy to a compiler that's not a one-to-one with a project. I would add docs about where this name is used.