make pressMethod available for all Zones

ButtonZone used be the only Zone with this method, and it was a hack,
this implementation is much cleaner.
make ButtonZone use the generic pressMethod

This prevents double calling of the press method, makes isButtonDown()
work again, and cleans up all the now unneeded overrides of Zone
behaviour