use platform-specific path separators

Windows uses "\" as a path separator. This patch normalizes things so we can still use forward slashes in the require() call and not break the absolute path returned from context.