Add Wanders trait and make AttackWander inherit that

The idea is to make wandering more generic. Now we can have both AttackMove-wandering and simple Move-wandering.
I'm aware that currently only `AttackWander` inherits the new `Wanders` trait, but I have another use for it on another branch that will wait for this to be merged.
Spelling: `aimlessly`, nit: `when idle -> while idle`.