extended buttons

buttons now take a type attribute (button|submit|reset) and icon class