Broken, just started. @TeamRumble: I'm keeping this open just to show progress. You can work off of a version of this, but just inform me in the comments.
Features: Well-tested movement. What needs to be added: Scrolling, switching targets, everything else.