3 lights ( + material and shader injection) implemented and tested on ios, android and rasberrypi

Lot of changes. Please review
You can save some typing here by constructing the light and making is a shared pointer in one step: `auto directionalLight = std::make_shared<DirectionalLight>("dLight")`