Tagging: Fix sorting tables with tags

Since tags tend to consume a lot of space, we were adding them in
separate rows in the language table, but this broke table sorting since
the tag rows are sorted independently.

Now we keep the tags in a hidden cell of the respected row, and insert
the rows dynamically just after the table is sorted, and remove them
before sorting the table again.