Add A* pathfinding (fixes #181)

Fix a bug with AIHasClearLine
- Tile dimensions weren't being swapped,
causing vertical queries to ignore walls