Moved all Mesh and derived resources into resource namespace

Also renamed texture and mesh load methods to Load() to be inline
with coming design changes.
Renamed GLTexture to Texture

Also did some spaces to tabs cleaning, typos, and removed redundant Sigma::
Changed to using shared_ptr for textures
Added ResourceSystem

To make an item a resource it my have a static TypeID member and provide a
bool Load(std::string) method. Then simply tell the ResourceSystem to CreateResourceLoader<MYRESOURCE>()
and you get then get resources of that type.

Texture now generates an ID in the constructor.

Several spots are using  __declspec(selectany) for static class members to create them in the header. To quote the gcc manual
"The selectany attribute is only available on Microsoft Windows targets. You can use __declspec (selectany) as a synonym for
 __attribute__ ((selectany)) for compatibility with other compilers. "
So it should be safely ignored unless under windows.
Made TypeID const and initialized it in the class declaration

Fixed a mismatched type in Mesh::GetVertex definition.
Hopefully fixed __declspec(selectany) on non-win32 builds

Now there is OS guards protecting the member definition in headers for win32, and
actual source file definitions for non-win32. The header aspect is needed because of
how DLLs handle global variables in separate modules (they are 2 different variables).

Changed how resources are ID'd. TypeID is now replaced by GetTypeName/ID tempalte
specialization that needs to be included in each header you want to be a resource.
See Mesh.h for an example.
Fix broken CEF filtering

Also enabled CEF by default.
Merge branch 'ecs' into Change_Data_Container

Conflicts:
	src/resources/Mesh.cpp
	src/systems/BulletPhysics.cpp
Fix position updated bit not set if entity is translated.
Fix MapArray iterator copying objects instead of using reference. 

MapArray iterator now returns a reference_wrapper object as the 'second'
member of the pair.