[inspector] Make more things clickable (part 2)

This PR got kind of crazy, but in a nutshell it makes almost everything clickable in the info panes including model and view properties, functions, and elements.

![](http://f.cl.ly/items/3i1e2u1s2I0O290A3N3r/Image%202014-11-24%20at%202.21.48%20PM.png)

### tasks

+ Make generic clientInspect function
+ Remove UI and viewInfo custom inspect element and function
+ Make all properties clickable
+ Add ancestor keys (commented out)
+ Add ancestor properties (commented out)


---

Note: functions defined on the prototype chain will not work now. inspect needs the full path e.g. inspect(this.constructor.prototype.trigger)

Note: I left the ancestor stuff in, but commented out because I expect we can go back in soon and add some class memoization and get it in soon enough, it's awesome stuff
![](http://f.cl.ly/items/0W0W103M0L3o2H2d1b2Q/Image%202014-11-24%20at%206.08.22%20PM.png)


make return type consistent with other objects that are serialized