Proper angular movement for all entities.

Instead of taking delta_x and delta_y parameters, Actor:move() now takes
an angle and a distance. Additionally, we no longer index images by text
strings like "southeast" and "northwest", but instead by an integer from
1-8 where 1 is south and 3 is east.

This also means that AI will now use all eight walking animations instead
of only the diagonal sprites as before.