Work done to add rollover graphics to CustomButton:

Add button state
Add mouse motion handling
Draw transparent background every frame
Rename main loop Graphics2D object to g, for conciseness, and it follows convention anyway