Added 'displayAsButton' option and support for multiple classes in buttonstyles

When displayAsButton is true, it will create a button. In this commit data-label is mandatory. No support for prefixed labels when a button is created. The properties buttonStyle and buttonStyleChecked can have multiple classes now.