Graphics/Material_DiffuseAdditive.cpp: Additive should be one/one.
Graphics/Material: Adding DiffuseMultiplicative
Graphics/Font: adding GetSize(const char *) method
Minor fixes.
Resource/ResourceBase.h: Make Reload/Delete methods only virtual.

No need to have those as pure virtual. resources that needs those
methods should overload, and those who dont need should not be forced to
do so.
Resource/ResourceBase.h: map is not needed.
Remove Reload/Delete from derived ResourceBase:es that do not need it.
SAGE.h: include System/Log.h
System/LogicTimer.cpp: fix GetUpdateFrequency()

Oops, this was not how you calculated the update frequency ;)
System/Log: Adding LogError()
Some minor fixes.
adding Math/Math: some common math functions.
Input/Keyboard: Adding KeyReleased/Pressed methods.
remove Graphics/BackendGraphics.cpp

This file is never used and that might explain why it contains code that
clearly is not supposed to be there. I guess that i copied the file from
Renderer.cpp and never included it in the build. the BackendGraphics
class only has pure virtual methods anyway.
LINUX: g++ complains that NULL is not defined.

Microsoft's compiler defines NULL without the need to include stddef.h
If NULL should be used, one should make sure to #include <cstddef>

However in this case, the expression containing NULL can be rewritten.
Input/Keyboard.cpp: Adding tracking of space key.