File chooser

r? @frank-trampe

cc #1640 (for the second part, at least).