better sticky shelf

Instead of manually setting the margin-top of the shelf to get it to
stay with you while you scroll (which is very jerky on chrome), use
jquery fixTo to set position: fixed appropriately.

This required adding a '.scroll' container in the shelf that receives
overflow-y: auto for the scrollbar. This is because fixTo copies the
width of its element onto another, and chrome and firefox calculate
widths differently, one including the scrollbar and the other not. The
.scroll container means the width of the .shelf always includes the
scrollbar.