Replacer std::shared_ptr by unique_ptr for PIMPL

 - removed the Utils::shared_ptr compatibility layer
Replaced the Mesh::Ptr shared_ptr to unique_ptr as it is never shared
Added a makeProgram(vertex,fragment) method

 - Compile and link a typical program composed of a vertex and a fragment shader.