Added compile_to method that with single .compile() can produce multiple target files.

This is my take on issues/568.
What do you think?
I know we already talked a bit about this, but even after our previous discussion, I think the constructor should still be public. The ordering is not clear reading the code, but hey, that's C/C++. If people read the docs and learn the ordering, it seems reasonable to use the constructor.