Add IDocumentSettings to separate document related settings from ISettings

This is the first step to have settings per document. Currently
IDocumentSettings is implemented as a global instance so all documents
share the configuration (as it was already working). But in the future
a project will be able to provide an alternative implementation to save
the configuration of each document in the same project.
Fix FTBFS with --as-needed linker option
Libraries must be placed after object files in command line.
More information: https://bugs.gentoo.org/show_bug.cgi?id=445814

Conflicts:

	src/CMakeLists.txt