120 RPM  - NO ISR
120 RPM  - NO ISR

1) Got rid of 60% scaling on PWM (This made a major difference)
2) Allowed change or PWM only at begining of cycle.
3) Eliminated Delay at end of loop.

From a code standpoint:

1) Moved ISR internals to a separate function to facilite moving it
   between the ISR and main loop.

2) Created state.pulseBuffer which allows the PWM duty cycle to be
   set externally, and then get pulled in by ISR at the begining of
   the cycle.

3) Created state.newValueReady which allows the main loop to
   tell ISR when it should pull in a new value and also allows
   ISR to tell when it has completed its cycle and pulled the value in
   so that the loop can suppress the incrementing of the currentStep
   until the PWM cycle has been completed.

msperl/tripolar,rjehangir/tripolar,msperl/tripolar,rjehangir/tripolar