Updated shader system; lots of bug fixes.
Fixed small shader porting issue
Included Relative Profiling
More Bug Fixes
Fixed Bug in Texture
Renamed GameObject/GameComponent to Entity/EntityComponent
Renamed GameObject.cpp to Entity.cpp
Fix: Trow error when mesh load failed

Prevent undefined behavior or app crash due to nullptr.
Add List<T>

Generic doubly linked list
Implement List<T> on entities and components

Main use of these objects is to add, remove and loop so these benifit
the most.