fix #264 (bad movement masks), improve tests

Fixed silly movement mask bug.

This breaks the "legend of zokoban" test -- I made test failures now give *some* information (a state diff), but its usefulness & readability is limited for large states. Not sure precisely what's going on, it's likely that some part of Zokoban was experiencing the same bug. Hopefully it doesn't _rely_ on it.
Also: As somebody working on a second implementation of Puzzlescript, being able to see diffs from the expected result (or even GIFs, hmmmm) would be really helpful. As it is now, I have to play through the "real" version to see what's supposed to happen and see where it diverges from my version.

Maybe it would be useful if tests accepted a list of intermediate states in that compressed format? Then we could even see _when_ they go wrong.