Add cursor handling for the treeview (up, down, left, right).  Also, separate selection from clicking functionality.

Fixes https://github.com/dart-lang/spark/issues/245