New movement commands.

Control with the cursor keys now move point a bit more intuitively
and helpful around.

Left and right movement will move by word as usual in Emacs, but
will treat indentation levels as words, so you can skip between
words inside the normal line or between indentation levels before
the actual code line.

Up and down will now go to the previous/next code block indented
roughly to where point is currently. This also allows to jump between
class and function definitions more easily.

This fixes #281, #300 and #303.