Add file access modes to sk_exists.

Both Windows and Posix 'access' calls take a mode parameter which,
in addition to checking existence, checks access modes.
This change exposes this functionality.

R=mtklein@google.com, reed@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/384903002
diff --git a/src/ports/SkOSFile_posix.cpp b/src/ports/SkOSFile_posix.cpp
index 93918b2..b5dc4ac 100644
--- a/src/ports/SkOSFile_posix.cpp
+++ b/src/ports/SkOSFile_posix.cpp
@@ -13,6 +13,18 @@
 #include <sys/mman.h>
 #include <sys/stat.h>
 #include <sys/types.h>
+#include <unistd.h>
+
+bool sk_exists(const char *path, SkFILE_Flags flags) {
+    int mode = F_OK;
+    if (flags & kRead_SkFILE_Flag) {
+        mode |= R_OK;
+    }
+    if (flags & kWrite_SkFILE_Flag) {
+        mode |= W_OK;
+    }
+    return (0 == access(path, mode));
+}
 
 typedef struct {
     dev_t dev;