Fix an assertion in table parsing code.
Fix an assertion in table parsing code.

When creating tables, the renderer is run twice: first to get the
width of a string to be printed, then to actually print it (within
a space allocated to all the columns strings).

This asserted because an invalid multibyte sequence in the string
would leave the internal multi-byte parser in a different state
between the first and second renderer passes.  This in turn caused
the multi-byte parser to return a different value in the second
renderer pass, which raised an assertion because the column widths
had changed between the first and second pass.

Fix this by giving a local state to the multi-byte renderer.  This
should not cause any errors in valid UTF-8 documents.

kristapsdz/lowdown,kristapsdz/lowdown,kristapsdz/lowdown