Added preference caching

Just added caching of the button style. This way the dict has not to get loaded from the plist every single time when creating a new button.