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

r? @glennw @mbrubeck
The Cargo.lock in ports/android/glut_app should be updated too.