I understand there's some duplication here with the work done in flutter_tools, but I really needed this to understand wtf was going on in some of the failures I was seeing, and I thought it'd be interesting to have (until we use the appropriate golden comparison code)