record middleware error on the dependency, rather than throwing

Step 1 for https://github.com/normalize/nlz/issues/15

Other steps would be to
* display all the recorded errors
* abort the build, as to not overwrite with invalid files

I would suggest to do something like makes --keep-going, as to record as many errors as possible instead of aborting at the first one.