Add button interrupt and handlers

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>