Move button-related interrupts out of ui.c

Button-related interrupts are now all handled by buttons.c.
but_setint(void (*f)()) now sets a function to be called when a button
interrupt occurs.