Add kml path input, and cancel handling to the UI

kml path is now selected by the user instead of being hard coded
kml filename is generated the same way as the results file, instead of
always being 'path.kml'
if the user clicks cancel when specifying a file or path, the UI will
exit with a message, instead of an exception