Preprocessor: implement token lookahead and use it for func-like macro detection