Implement many CPP directives

Implement many CPP directives, basically the ones necessary to compile
OFF project. Improve also documentation and examples.