Button: Move common interface visualization to Button class

The implementation of a simple JPanel with a JButton was only code
duplication accross the several button implementations.
SkyButton: Reduce dependency on SkyMote

Placed call to setButton() in implementation-specific functions
doPressButton() and doReleaseButton() as in ContikiButton.
Button: None of the buttons will saves its state

Saving a buttons state in simulation file is not required as its state
is much too volatile.
Button: Add doPressButton() and doReleaseButton() to Button class

As every Button has a node-specific implementation part, this should be
the minimal interface to the backend node emulator for pressing and
releasing a button.
Buttons: Move implementation of button routines to Button class

The implementation of clickButton(), pressButton(), and releaseButton()
can be shared accross the several node-dependent implementations as
they use the node-dependent doPressButton() doReleaseButton() routines.
Buttons: Added missing @Override annotations
Buttons: Some minor cleanups

Removed imports not required anymore and made some class members final
Buttons: use non-deprecated MSPSim button api
Button: Allow to press and release button by mouse and key

In the previous implementation a click event was triggered when the
button was pressed.
This implementation allows to set and release buttons independently both
by mouse clicking and by key typing.