Keyboard based movement?! What?! 2.0! 2.0!

Also, turns out that the model barfs if you set one of its values to 0.
https://gist.github.com/8621414