No longer disable internal pullups when inverting the limit pins

Before, these two were coupled, meaning you could not invert the limit
pins without disabling the pullups and vice versa. Now, these two are
separated. Inverting the pins is still a runtime setting as before,
disabling the internal pullups is now a compiletime setting (which
defaults to enabled).

Separating these two makes it easier to support normally-closed
switches, which can be wired to GND normally when the pins are inverted,
but pullups remain enabled.

Closes: #542