Use custom proxy instead of UIAppearance

Create a C4Template class as a style proxy instead of UIAppearance. This has the advantage of not depending on undocumented features and having more flexibility to use templates other than the default.