Remove unnecessary casts; use static_cast

I need to break the habit of using C-style casts, even when there should
be no impact -- even if the compile-time type-checking turns out to be
unnecessary (i.e. long/int), the added clarity is probably worth it.

Signed-off-by: Luke Stuyvenberg <stuyvenberg@wisc.edu>
Implement stepwise movement, home, origining.

For the twister and stage, I added a GetStepLimits, and implemented
Set/GetPositionSteps, reworking the Set/GetPositionUm to call the
newly-implemented methods. (My reasoning is that, being closer to the
Picard hardware, we will lose less position information this way.)

For the twister, I implemented SetOrigin using the appropriate PiUsb call.

For the X/Y stage, I implemented GetStepLimits, Set/GetPositionSteps, and
Home. By removing the SetAdapterOrigin override, I enabled the parent
class' implementation.

This patch has not been tested on a physical system (only the stage, which
does not show the exact effects of movement given a specimen in the sample
arm).

Signed-off-by: Luke Stuyvenberg <stuyvenberg@wisc.edu>
fixup! Refactor OnVelocity routine

Signed-off-by: Luke Stuyvenberg <stuyvenberg@wisc.edu>
fixup! Refactor OnVelocity routine

Signed-off-by: Luke Stuyvenberg <stuyvenberg@wisc.edu>