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/

I'm not exactly sure, we could remove those.. I don't think there's going to be a big difference, but having a forceinline makes me think that this function is supposed to be used in performance critical sections so that's why I marked it like that.