Fix #1795: Move clear and offscreen to their own mixin methods

I've moved `.clear` and `.offscreen` to mixins.  I'm looking for another solution for the others.