Enhanced character walking

If the user clicks on a non-walkable spot, the character will move to
the nearest walkable spot instead of standing still.