Fixed unconditional updates of the shroud

Added an INotifyMovement interface and use it to only update the shroud
when it actually needs updating, ie. when an actor has moved.

Thanks to @pchote and @phrohdoh for guidance on irc.