add button mixin

Signed-off-by: Joachim Dörr <mail@joachim-doerr.com>