Add support for icon container empty state to indicate when no icon is currently displayed
Rework button

New implementation allowing more flexible button setup (icon, label, raised, transitioning). This is partially required to fix #4