jump point search algorithm in Rust