`create_preprocessor()`, `create_parser()`

I am starting to really like these primitives. The best thing is,
`create_output()` can create an object that will call directly into
linker module on `operator()()` invocation (provided it is linked with
the linker, obviously :D), which is awesome. I'll have to tweak the
Makefile to produce libraries for submodules instead of just compiling
them.