when an assert_screen fails, save the 20 biggest changes as screens

this makes it (hopefully) possible to create needles for screens that have
a timeout (like the bootloader or the screen saver)