Changed options to use inheritance

This is more of a stylistic change. It does provide a relatively clean
fix for a bug in my last commit where update_chat_with_filter() was
called even when a CSS related checkbox was checked. Basically I created
a base options object and then used inheritance to create each filter,
rewriter, and styler.

I'm not sure if this is a direction we want to go with this project, it
was more of a coding exercise for me that I think worked out alright
enough to issue a pull request. It does reduce the # of lines of code...