Added license to the source +Shader

- Fixed error handling. Segmentation faults are better handled now.
- Added more functions to set shader uniform variables