dependency manager return std::shared_ptr and are linked with parents

Dependecies injector has been rewrited : 
It now return std::shared_ptr and not reference any more.
Depencies injectors can be linked so you can access dependencies in the parent via childs : 

                     | -- Scene
---- Engine --| -- Scene
                     | -- Scene

If the dependence is not in the scene it'll be searched inside engine.