Added tests for checking immunity on views.
Further performance improvements for #98.

Previously, the view would look all the way to the root window through the view hierarchy every time it was asked if it was immune to beautify. This worked, but we had to use UIResponder's nextResponder method and that turned out to be quite slow. For example, in the demo app, switching to a custom theme took ~1700ms.

In order to resolve this, now when you set "isImmuneToThemeRoller", the view will recursively propagate this value to all of it's subviews.  So now a view doesn't need to look up the view hierarchy to see if it is immune, it can just check it's own immunity property. Running the same test in the demo app now takes ~110ms, which is obviously a huge improvement.

This should fix #98. Still need to try it with the streaming project to see if it is good enough!