Clean up styles

I've begun the work of making the implementation of style methods more uniform and correct, but this got to be so big that I decided to stop half-way.

This PR will represent "cleaning up" `arc` - `list_box` (using the list in #711).

I'll make lots of inline comments on what I considered "cleaning" and I'm eager to hear feedback.
When you call `style` in hopes of getting a hash back, it has to check `need_to_update_style?` which checks `style_changed?`. Neither are intensive, but on the other hand, if everything is set up right, the `@style` instance variable should always have the most up-to-date info and calling it would skip the unnecessary checks.

If you say that optimize later is the better approach though, I'm pro for reverting this :)