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/

Because I'd need to copy dstX and dstY to common rect and I don't really need any functionality provided by common rect, plus since that uses int16 it'd make this less efficient because we're not dealing with a processor word directly.