added AI profile test
Grid2D *only* tuple-indexed. saved time on getitem
sort and print automatically in ai profile
Nodes.walls as bitmask; removed __flip_direction
neighbors() made faster by list comprehension
precomputing neighbors

neighbors() is no longer a bottlneck and path() is improved indirectly
Faster path() using collections.deque instead of Queue
updated Driver to reflect Board changes