I kindof liked the idea of combining all this clear stuff in just one function. Having multiple can also be confusin. Is there really a situation when one only wants to set the color? 

Another option is to have `clear_color`, `clear_depth`, etc. With which one can either "set", or "set and clear".