doc: mention plugin interface string in plugin interface docs.
modules: minor cleanup.
Platform: specify dependencies for Application libs on single place.
Shaders: make the helper function inline.

Will be used outside of the library and I don't want to create
another inter-library dependency.
TextureTools: properly create compatibility shader.
TextureTools: const is available since GLSL 4.20.
Proper no-op fallback for *Framebuffer::invalidate*().

The documentation of ARB_invalidate_subdata mentions that all the
functions are really just a hint for the implementation to make some
performance optimizations and they are not affecting behavior at all. So
it's perfectly fine to do nothing if the extension is not supported.

I didn't do this originally as I mistakenly thought that invalidating
depth buffer would somehow behave the same as clearing it, but that's
not the case.