Select commits, refs without focus

As discussed in https://github.com/FredrikNoren/ungit/issues/38, this separates node and ref selection from the browser focus. Easiest way to test it is to select something by clicking it and then clicking in the path bar.

Implementation: `obj == obj.graph.currentActionContext()` replaces `obj.hasFocus`. Pretty simple. I created `Selectable` to avoid code duplication. Originally I wanted to put it on `GitGraphViewModel`, but then we have a circular dependency between`git-graph.js` and `git-node.js`.

It feels "too easy", so it's quite possible I missed something, but I can't see what right now.