Add cross-platform `open`