:arrow_heading_up: A LOT of pathfinding changes

Diagonal movement now works, along with (untested!) support for diagonal
movement sprites...
Changed to the Manhatten algorithm for A*.
If the A* algorithm tries to send an object through somewhere
diagonally, it'll just move in the direction it can to try and get
there.
A* paths are still ugly as fuck, not sure how to solve that, also A*
crashes really unelegantly if it can't get to a point, need to find a
way to solve that so I can add doors and stuff without things breaking.