Initial commit

Looks good - maybe it's worth moving some of the dom checks into the view checking against the model for example these lines could be written:

``if (this.model.get('_isVisible')) {``