Finished button implementation - mostly

Acts weirdly if you move the mouse off or on in the middle of a button
click, but mostly works.