RobotIO can be initialised with a maze

Also minor refactoring, robotcontroller has a maze.