Bug 880575, part 1 - Factor out ReadEvalPrintLoop() from Process(). r=jwalden.
Bug 880575, part 2 - Factor out RunFile() from Process(). r=jwalden.
Bug 880575, part 3 - Declare variables at initialization in ReadEvalPrintLoop. r=jwalden.
Bug 880575, part 4 - Use a Vector<char> instead of manually allocating the input buffer in ReadEvalPrintLoop. r=jwalden.
Bug 880575, part 5 - Factor out EvalAndPrint from ReadEvalPrintLoop. Use CompileOptions to eliminate some more manual memory management. Make ReadEvalPrintLoop take both input and output FILEs as arguments instead of using gOutFile. r=jwalden.