Improve dependencies handling through CMake

With this PR, the user is warned at CMake-configure time when dependencies are missing to avoid linking errors at build time. Also, Visualizer compilation is disabled when optional libraries are not available (not sure if this is the intended behaviour though)