Implemented line/block comments in the preprocessor
* Added whitespace reduction and empty line removal in the preprocessor
* More minor work on lexer, engine and preprocessor directives