Fixed CMake to recognize VS2010 and 2012

Visual Studio 2012 and to a lesser 2010 support C++11. Further changes
are required to degenerate the nice C++11 code to compile with VS2012.
Remove deleted ctor from FactorySystem

Visual Studio doesn't support deleted ctors yet.
Missing definition of template type

IGLComponent is used a a template type and as such needs to be fully
included.
VS2012 doesn't support complex aggregates

Visual Studio 2012 doesn't support aggregate initializer lists with
types that have base classes.