MYST3: TinyGL Renderer

This pull request contains all the code for the task "implement myst3 software renderer"
It looks like you've used tab characters to do the indentation, which can be rendered at any width by different editors. Spaces are more reliable.