[Pulsar] Fixed relative path handling for the pre-processor.

- When a file is pre-processed, change the current working directory to
  the parent directory of that file prior to doing anything. Once
  completed, restore the old CWD.

- This allows .#include directives inside source files to be relative to
  their path.