Shaders: removed superfluous `*Shader` suffix from class names.
Added some more Doxygen workarounds.

Forgotten in 3f891cfa7c0471961f9821a9cf7389acc3c98e40.
Added missing values to Mesh::Primitive.

Now we might fully support Geometry and Tessellation Shaders, hopefully.
Method chaining in Shader.

The methods return reference instead of pointer, as the class is
commonly created on the stack. Removed static functions
Shader::fromFile() and Shader::fromData(), as they are not needed now.
Also asserting that the file exists and is readable in addFile().
Platform::Sdl2Application: properly handle SDL_QUIT.

F'ed up in 6fd8dc86ada2c098b1988c0cbee84f4102095b5c, the app didn't
respond to closing the window.
Split Query into PrimitiveQuery and TimeQuery.

It's better to group the queries on functionality and not common code.
Greatly simplified Query implementations.

All work is now done in AbstractQuery, subclasses define only
strongly-typed interface around it. No heap allocations, no virtual
destructors needed. Added also asserts into result(), begin() and end()
to harden the implementation.
Properly count line numbers in shaders.

Now line 41 of third added file is marked as 3(41). Source 0 is the
`#version` string added in Shader constructor.

Huh, deinlining that Shader::addSource() function also significantly
reduced debug binary sizes.
Fixed various superflous spaces and newlines in Shader error messages.

The debug classes are long overdue for total rework. This isn't usable.
Added some TODOs.