Change to event loop
Commands changes target position instead of acting on motor directly
Reports its max range at startup.
Added new commands
   COMMANDS:
   u##    go up ## steps where ## is an integer number. e.g. u100
   d##    go down ## steps where ## is an integer number. e.g. d50
   h      go home, back to 0 position
   t      go top, to max position
   m      go to mid point
   p##    go to position ##, where ## is an integer number, e.g. p100
   c      do calibration, go home, then top then home.
   r      report range.