Always update cornerRadius/Added highlight state

When frame changed (eg. sizeToFit is called), cornerRadius need to be
updated.
Highlight state: When press the button, reverse the color