Do simple keyword replacements, commenting out and translation at the end

This allows the main part of the preprocessor to work with source
in the actual input format and not have to look for directives
in their translated form (which can be different depending on the
target).