Woo, getting the path finding for enemies done finally. This is just a greedy heuristic so paths aren't optimal yet, but it's blazing fast and has a relatively small memory foot print.
Going to try to get the A* heuristic in and then rig up a very simple patrolling enemy now.
This was a lot of fun to figure out. Given the fact that rooms are procedurally generated and don't quite conform to a grid, I had to do a bit of hackery to get this working but it's getting there.
Edit: okay, A* implemented properly. I also added diagonal edges to the graph, with a greater cost (√2 instead of 1).