Re-layer Compiler into pipeline form.
Add promise-wrapped API.
For module loading we need to access the pipeline between parsing and
  conversion to string.