Consolidate DOM logic under `tesseract.dom`

Separating it into `tesseract.impl` for implementation details versus
the actual implementations was not as straightforward as putting
everything under the `tesseract.dom` namespace.
Add basic mounting

ReactMount.js The Good Parts
Def dat document node code
Rename props => attrs

/cc @scottrabin
Move mount to cljs
Add check to not dissoc if nil
Remove erroneously added mount.cljx
Add example project to explore tesseract syntax
Merge remote-tracking branch 'scottrabin/master'
Update ideal example
Update gitignore

Ignore REPL stuff
Implement tesseract.core/defcomponent & basic test
Recursively render sequence children & test
Check that root element was found before getting attr
Implement IMount on component & test
Progress on mounting
Create tesseract.component ns (WIP)
Progress on mounting, fixing tests
Move logic for simplicity

Seems easier to follow as such
Implement IDidUpdate

IDidUpdate protocol receives container node. This required passing container
to tesseract.component/update.