Defined workspace boundaries via set of planes in initWorld() function.
Added computeVelocities() method to compute waypoint velocities based on durations.
Added final isPathValid() check in demo() before execution.