Thanks for the feedback. The issues you bring up should all be fixed eventually. Viewport resizing and possibly the scrolling issue will be fixed with the next release (right now the page contains a really tall canvas element, and the browser handles scrolling - the next release I want to put the scrollbar on the canvas as well. This might or might not improve the performance on Firefox, I'll have to see).
As for why I'm bypassing the DOM - if you build on top of the DOM, then you'll probably end up with something that looks a lot like the DOM - stateful, CSS layout algorithms, standard widget rendering, etc. I want to try some other options, most notably a stateless output layer. Of course it's possible to build that as a layer on top of the DOM, which is what efforts like the virtual dom libraries seem to be doing, but then you have an abstraction inversion - two complex layers of software just to get back to the original state of immediate-mode rendering. I think that building to a simple interface is a better long-term strategy. Another advantage is that Sneath Lane is thereby not so strongly tied to the DOM - it would be reasonable to port it to any platform with vector graphics and events, etc.