use xdg-open when available

`open` might be available on OS X, but it certainly isn't on your
average Linux system. this makes it work on most non-Windows platforms.