move parsers before engines in the code
expose `.normalize` on assemble.

* Also add a heuristic to check if a file has already been normalized.
* minor formatting