Instead of rendering zero-width characters as full characters, they are
now properly rendered without advancing the cursor.
Because of performance limitations, this implementation only supports up
to 5 zero-width characters per cell. However, as a result of this
limitation there should not be any performance impact.
This fixes#1317, fixes#696 and closes#1318.