MSVC 2013 compatibility: we need to include all the dependencies.

No way we could include them only in cases where they actually get used.
Make some type conversions explicit.

Fixes a bunch of MSVC warnings.
Use proper numeric literals.

Thanks to MSVC for these.
No need to have const members in AbstractShaderProgram::Attribute.

Someone might someday want to copy them somehow, restricting that
doesn't improve anything.
Don't return after std::abort().

MSVC marks that as unreachable code, which is.
SceneGraph: fix assertion expression.

We should have used == instead of =, the counter is set to that value
later anyway, so this didn't break anything... but the assert was
useless. Hopefully it won't fire each time now :-)
DebugTools: fix linking on Windows.

MSVC complained about dllexporting already exported interface or what.
MinGW doesn't care.
external: use GCC-specific flags only for GCC/Clang.
SceneGraph: fix infinite recursion problems.

Spotted by MSVC. The virtual interface isn't used much anyway, so it
wasn't detected until now.
Merge branch 'master' into compatibility

Conflicts:
	src/Color.h
	src/SceneGraph/Object.hpp
We don't need no GLEW.
Advertise MSVC 2013 support.
Merge branch 'master' into compatibility