Bug Fix

We should check whether stack is empty each time when we remove the top
element and try to read the current top
Use recursion to walk out of a 2D maze.

We can go 4 directions: right, down, left, up.
0 means pass, 1 means wall,can't pass