cot: complete theme engine

This commit depends on the settings implementation
which is not finished yet. This commit builds fine,
but you are locked into the default theme for now.