Move ToggleImageButton functionality into ImageButton

This hopefully makes the code more clear. Widgets not specifying
inactive_image and not providing images with fitting names will just
display their up_image when set inactive.