provide a way to get a Differ given a DiffAlgo
MyersDiffer is stateless, don't create instances
refactor API to make outsider implementations easier
per Go convention, UseThisStyleForConstants
comment for DiffFormatter.Print

comment fix in diff.go
make Diff an interface. printing can be reused.