Lower startup time

## Background

The tree view loads synchronously at startup and restores the previously expanded directories and scroll position.  This can significantly impact startup performance since each entry in the tree is a [space-pen](https://github.com/atom/space-pen) view.

The goal of this PR is minimize the impact that the tree has on startup by finding faster ways to create and renders the views.

## What Changed

* [Custom Elements](http://www.html5rocks.com/en/tutorials/webcomponents/customelements/) are now used instead of extending `View` which are quicker to create.
* Minimize object creation by not using full blown  `File`/`Directory` models from [pathwatcher](https://github.com/atom/node-pathwatcher), instead just use lighter way models that only load the needed file/folder information.
* Use pure DOM APIs instead of jQuery
* Use [event-kit](https://github.com/atom/event-kit) instead of [emissary](https://github.com/atom/emissary) for subscribing to and emitting model events.

## Results

Opening a project with **290 folders** and **5 files** that is scrolled all the way to the bottom with the bottom file selected on a Macbook Pro on OS X 10.8.5 with 2.6 Ghz Intel Core i7 processors and 16 GB of memory.

Previous time take to create the view: **320ms**

New time taken to create the view: **125ms**

Closes #216 
Yeah, figured we would circle back with a markup/template push eventually once we refactor a couple more packages to use custom elements.