mapcreater initiated
map and route are seperated, eraser and pen in mapimage work well.
drawing route can avoid obstacles in map, eraser in routeimage hasn't implement yet.
map is created with border.

the next step is export
the scrollarea for centralwidget works well. Now the map is scrollable.

next step: export
add export class, haven't implemented yet

change mapcanvas.py in a OO way,  only consider tools and map.

comment the border of mapimage, it could be erased by eraser,
the border could be added when doing export.
ui_*.py is automatically generated from ui files.
the struct for exporter has been changed, now one wants to generate a new format of map could write a new exporter class,
the converMap method in mapcanvas will call this class.

the log file for locate has been done, only points left.
the log export has been finished, haven't test yet.

next step is progressbar and file dialog for output.
save file part has been added, sometimes it crashes due to multithreading, I guess,
 and the yield part is not right
the yield problem in mapcanvas.py has been fixed
add the save file dialog again, the crash problem hasn't been seen so far, may be the yield problem fix this too.
but the angle seems a little bit odd, it is random angle, but many 90.0s.
change the execute order. now a savefile name should be selected by static method in QFileDialog,
then the log file will be generated.

also, the generation of the log file is changed, now it runs the loop over generator->write sequence.

before, it has to generate all log in memory, then write to a file.

another important thing is the angle for specified point now is generated by preceding point and the following point,
but before it is generate by the current point and the following point. This at least improves the accuracy for a short route

but there must be a coincidence that the preceding point and the following point is the same one, due to all points slicing in map.py.
this problem may occur no matter how we calculate the angle.

the solution could be if the preceding point is the same as the following point, then we use the current point and the following point to calcuate the angle instead. this solution should be implemented in next update.
fixed a petential zero/devide bug
Merge remote-tracking branch 'github/master'

Conflicts:
	.gitignore