lstopo: fix support for exporting to - for cairo-based backends

"-.ext" was always supported, but "--of ext -" was not supported in cairo backends.

Also clarify why things work for XML export.
lstopo: open_file() is only used for opening the output, simplify it
lstopo: Don't overwrite output by default, add -f/--force to enforce