refactor tile move structs into simulation event classes
use MoveEvts for all visibility tile adds and removals
pick times a little more carefully