Don't mutate shared themes

Currently changing font name/size in one editing window will affect font size in other windows. This patch makes themes immutable which avoids this issue. Also theme styles are now shared.