Refactor textcolor plugin, and add background color plugin