code style
Rewrite the task

To be able to support Sourcemaps in the future and many other reasons.

No longer passes data using stdio, but instead uses real files.

Fixes #39 and enables #25