restructured steppermotor to be agnostic to pulse generation mechanism
fixed some bugs with new stepper motor layout