Invert control flow, fix resizing, improve checkerboarding significantly, and add a refresh driver

r? @glennw @mbrubeck
I think this comment can be removed.