Much better LOS algorithm. Now uses a recursive shadow-casting
technique.