Added initWithCode() and loadFromFile() methods
More refactoring
Whitespace cleanup
Added shape classes
Added empty source check to compile method
Removed some methods from Renderer interface
Cleaned up whitespace and removed unnecessary update(double dt) method
Added bind() and unbind() methods to shader