Implemented changing the button images when the cursor hovers over or
clicks down on a button, even displaying the "down" image only if the
click began inside the button. This prevents the mouse clicking outside
a button and then being released inside the button counting as a click.
This required adding a button structure to struct smode to record the
position of the previous click.
Right now multiple buttons pressed at once are not handled very well,
but (for some of the code) only clicks by the left mouse button are
handled.
Also implemented handling clicking. The program currently prints a
message when the mouse clicks on the sole button displayed.