shuttle: more internal refactoring
shuttle: more internal refactoring

This commit makes it easier for the hardware device template to specify
the number of buttons.

Signed-off-by: Sebastian Kuzminsky <62d754cc350e84d3b1c32ae79f976f5348e74a40@highlab.com>

ikcalB/linuxcnc-mirror,ikcalB/linuxcnc-mirror,ikcalB/linuxcnc-mirror,ikcalB/linuxcnc-mirror,ikcalB/linuxcnc-mirror,ikcalB/linuxcnc-mirror,ikcalB/linuxcnc-mirror