** DO NOT MERGE ** Emit imports lazily

@JakeWharton 
@swankjesse 

Note: in its current state this would break existing clients since it requires a call to finalize the output. We need a way to enable this feature on demand, or else go to a version 2.0 that is understood to be incompatible.