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.
Ugh, so what do we do, create the component before getting props and then just use it later? Or will something else break then?

```
foreign import dom
  "function dom(el) {\
  \  var comp = React.DOM[el];\
  \  return function(props) {\
  \    return function(children) {\
  \      return comp.apply(this, [props].concat(children));\
  \    }\
  \  }\
  \}" :: forall props. String -> props -> [Component] -> Component
```