Implementing sceneObject.draw for d3 features

In regards to #174.  @aashish24 and I discussed this and came to the conclusion that for performance reasons we don't want to automatically redraw the scene on every change.  This PR makes explicit the expectation that the features must be drawn manually by providing a `draw` method on every `sceneObject` instance.  The base `sceneObject.draw` method calls `draw` on every child in the subtree.  This means that `map.draw()` will redraw all layers, `featureLayer.draw()` will redraw all features in the layer, and `feature.draw()` will redraw a single feature.  With method chaining, we can do this:

```javascript
var map = geo.map({'node': '#map'});
map.createLayer('osm')
  .draw();
map.createLayer('feature')
  .createFeature('point')
  .positions([])
  .style({})
  .draw();
```
For the GL features, at this moment no. But that should be fine for now. For the points, there is only one feature in GL (actually we may want to rename it to pointsFeature vs pointFeature). If you have multiple feature in a renderer, each calling _render is fine as they all have to sorted anyways. In the future, I can add a check to render only if needed. That should be easy to do.