Clean up styles 2nd half

As I mentioned in #869 I split up my style cleaning because it felt just a little too big for one PR. This branch was created from my clean_up_styles branch, so I'd like to merge them together more or less. Please let me know if that's the wrong approach :)

The besides the normal changes from the last PR, I changed a little bit about check boxes work. I realized that  radio was overwriting its styles and fixed that. Due to these changes I'd be interested to discuss the possibility of now splitting out check into its own file since it's not a simple call to its super class any more.
We need to call `style_with` with before `initialize`, and we need to create `@app` before `style_init` so I moved some things down to the subclasses for consistency.