Add prototype smart rider module

Basic theory courtesy of @blah303 :D