platform independant file dialog inrterface