ENH: Add entity print_tree function

Ready for review/merge. Example output:
```
Omar-2:vispy larsoner$ python examples/basics/scene/viewbox.py 
SubScene
  +--ViewBox
  |  +--SubScene
  |     +--PanZoomCamera
  |     +--Line: nd box
  |     +--Line: unit box
  |     +--Line
  +--ViewBox
     +--SubScene
        +--Line: unit box
        +--Line
        +--PanZoomCamera
        +--TurntableCamera
        +--Line: nd box
        +--Line: unit box
        +--Line: nd box
```
Maybe change the name to `describe_tree` and just return a string? That seems more natural.