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/

Gah, silly github markdown, the point was that each line should start with a *, and those should be aligned with the first star of the first /**-bit. the final */ should also align it's star.