Implements shading types 4-7
Dynamically determines how to split patch into triangles
Respects current ctx scale for mesh pattern
Merge pull request #4192 from yurydelendik/shading-r

Implements shading types 4-7