Added support for dropdown buttons (which turned out to be surprisingly hard). Also refactored button style support to make it more fluent.