Simplify

I took a very simple approach to this. So far it has seemed to work out pretty well for me here: https://github.com/slamdata/slamdata. There's probably a whole slew of bugs in here waiting to come out, but I thought this might be a nice start for a rewrite.

Please review/comment/suggest.
What if we call it `Component`? Because this is what it is. OTOH the result of `render()` is called descriptor in React terminology.