emit: Fix extra newline at EOF
Add PP expression parser
Turn hCollectComments() into tkCollectComments()
Move CPP/comment/divider related code into separate pp modules