Added .gitignore file
Added a new Metal backend.
OO'd GlslTarget

Can now inherit cleanly from GlslTarget for things like metal which will
mostly look like glsl
Moved MetalTarget definition into a header

Added first metal specific code! :zap: