Improving performance by using CATransation Commit when applying themes.

In my visual test I have locally which switches theme every 2 seconds, run for 1 minute, this reduced the running time from ~840ms to ~330ms. It moved "redraw" down from being the most expensive method call to the third most expensive.