The only disadvantage I can think of is a slight performance penalty incurred by calling e.g. `glClearColor` more often than necessary, but I have to imagine this is very small. (And one could always opt in to using the `on_initialize` behavior in those use cases, so it would still make sense to promote the more general, simpler `on_paint` case.)