TINYGL: Dirty rects system.

This PR contains an implementation of dirty rects system.
You can find more information behind the design and implementation in the following blog posts: 
http://subr3v.blogspot.co.uk/

Quite a lot fewer memcpys, and the fact that if you know that it's fully opaque, then additional discarding logic can be performed (i.e. any draws behind it can be discarded completely).