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).
`name` is not a great parameter name in this case. Maybe `projectName` is better, if it has to be the project name, or some info in the scaladoc about what this parameter is used for.