update: preprocessed solution path

Use a preprocessed solution path for hints. If the moves are in the
correct direction, remove them from the solution path. Otherwise, add
the opposite direction to the solution path.
add: author name to maze.js
add: GPL license