Implemented sticky headers for widgets

The headers (tier 1 info) for widgets will now stick to the top of the scrollable area. This also supports nested sticky headers, so that headers will stack at the top as you scroll through large content. Additionally, headers will start scrolling away as you near the end of their content.

Simple API usage (just specify some CSS selectors):
```javascript
  $(".widget").sticky_header({
        // A selector for the scrollable area ancestor
        scroll_area_selector: ".object-area"
        // A selector for all sticky-able headers
      , header_selector: ".header, .tree-open > .item-open > .item-main"
        // A selector for counting the depth
        // Generally this should be header_selector with the final element in each selector removed
      , depth_selector: ".tree-open > .item-open"
  });
```