Formatting
Fixed: skipSpace did not update line counters for 8232/8233

Elsewhere those character codes are considered eol, so they should be in skipSpace as well.
Reorganized code, all preprocessor code is together now
Preprocessor directives are now treated as statements.

This allows them to be completely consumed before moving to the next logical line. It also allowed me to handle the EOL that terminates a directive in a better way.
More comment/space tracking madness.

Comments/spaces are now correctly captured within a macro body and surrounding a macro call.