annotate: build format string separately from annotation data
This prepares for porting to generic templater API.
Note that we cannot use '%*s' to pad white spaces because it doesn't take
into account character widths, as described in
4f5a6df2af92.
workingfilectx.date = (1000, 0)
ASCII : Gr?ezi!
Latin-1 : Grüezi!
UTF-8 : Grüezi!
(['foo'], [], [], [], [], [], [])
diff --git a/foo b/foo
--- a/foo
+++ b/foo
@@ -1,1 +1,2 @@
foo
+bar