This uses recursive backtracking. Use arrow keys to move.
Thanks to @-MysticImage- for suggesting a feature.