Add more type information.

This patch depends on https://github.com/kogmbh/WebODF/pull/223

There are many commits in this patch, but they are all very straightforward.
Perhaps the patch to Style2CSS is a bit harder to read because a new type is introduced. That does make the code a lot cleaner though.