Make Gantt work as expected with dependencies, gaps between tasks, and moving/changing task dates