Do #include merging during tk PP step, instead of with ASTs later

This allows the PP step to see #defines from merged #includes, allowing
them to be expanded, allowing more constructs to be parsed. This kind of
automatic #define expansion wouldn't be possible when parsing constructs
first and merging later based on ASTs.
pp: Evaluate #if conditions/blocks in same step, handle #defines/#undefs
pp: Fix iif() evaluation
pp: Add various NOP removals to expression folding