TgaImporter: use better-defined type.

Commit mosra/corrade@9485ef7effd6c8241e03982c53e8fabfe260b525 broke
this, apparently the compiler can't decide which overload to select when
a type has implicit conversion to another type which is then supported
by both Debug and std::ostream operator<<. Working around this for now as
it is the only case, hopefully we won't run into something similar later.
CMake 3.0 compatibility: use AppleClang for Clang on OS X.

Different name because of different version numbers. Also we need to
stay compatible with <3.0, which defines it as "Clang" only.
modules: bail out with proper message if Magnum is not found.

Currently it failed on "error when trying to open configure.h", which is
NOT a helpful message at all. Now we check for existence of the include
dir before trying to open the file, thus failing with proper "Could NOT
find Magnum" message.
modules: no backticks in CMake documentation.

That is only for Doxygen. Also improved the wording a bit.
Audio: fix compilation on OSX.

Broken since c7b23a884fabea1298ac4e68d7fa4e8da6ab31a6 (missing include).
Thanks to @chris-chambers for the hint.
Added AbstractShaderProgram::attachShaders().

Convenience overload to attachShader(), allowing the user to specify
more than one shader at once. Just a complement to initializer-list
versions of compile() and link(), but without any performance
difference.
Shaders: using attachShaders() everywhere.
TextureTools: use threaded shader compilation also here.
Added Renderer::enable()/disable().

Should be preferred to Renderer::setFeature() to avoid unnecessary
branching. Also a bit shorter to write.
Use threaded shader compilation etc. also in tests.
Remove old NVidia workaround from AbstractObject::getLabel().

This bug is fixed, but other issues appeared.
Use object at least once before testing its label.

Otherwise my NVidia emits GL_INVALID_VALUE with message "that <object>
is not valid object", which isn't in the specs. I hate this "deferred
everything" approach in GL. Is this even legal optimization?
Fix CubeMapTexture test.

This time thank you, hardened NVidia drivers.
Allocation-free overloads for *::setLabel().

In most cases the label is set directly from code, e.g.:

    texture.setLabel("diffuse-duck");

Avoiding conversion to std::string and passing char(&)[size] directly
will avoid one allocation and deallocation. Better solution would be to
use std::string_view everywhere, but we're not in C++17 yet.
Allocation-free overloads for AbstractShaderProgram string functions.

In nearly every case the attributes are bound and uniform locations
queried with constant char arrays:

     bindAttributeLocation("position", Position::Location);
     colorUniform = uniformLocation("color");

Avoiding conversion to std::string and passing const char(&)[size]
directly will avoid needless allocation (and later deallocation) for
every call.
TgaImporter: remove old nonsense from plugin configuration file.
Trade: allow instantiating importer plugins with access to manager.
Trade: minor cleanup.
Math: better algorithm for comparing floating-point values.

Still not ideal (for values around zero), but can't do much better for
such general case.
Math: less strict precision for comparing floats.

Now the viewer example is usable again.