Check win/loss state in own function
Refactor movement logic; Implemented action points system

Enemies now use pathfinding (sample algo) to move towards the player
when close enough. Otherwise, they'll move randomly.

Moving 1 tile takes 1 action point. Attacking (or if the player targets
themself) will deplete all action points, thus ending the turn.

Also fixed some bugs where enemies would attack too quickly, or not at
all.