refactor buttons out of main frame to own panel

The main frame was getting rather bloated, so decided to remove all the
JButtons from the main frame and implement another JPanel class,
ButtonPanel, to hold all the logic to create the buttons.  The
ButtonPanel has a private inner class for the event handling, and as
such needed reference to the timer and label objects.  Initially this is
done by setting those objects through respective 'set' methods.  This
will need to be refactored out to some sort of interface soon.