Buttons can now be disabled

We should probably move the input logic into the button class itself, as there isn't a good way to disable them otherwise.