Added 'displayAsButton' option and support for multiple buttonStyle and buttonStyleChecked classes

When displayAsButton is true, it will create a button. In this commit data-label is mandatory. Also buttonStyle and buttonStyleChecked can have multiple classes.