New ranges management

-Range calculation now uses Logics.accessible_positions
-Cursor is now restricted to range
-Added debug functions and exception handling to Path
-Added a type alias to Logics (for easier manipulation)