Refactor icon view widget
This turns the icon view into more of just a view, and removes a lot of the icon-related logic. Cell renderers are used to draw the icon image and label now. The view uses GtkTreeModel to populate itself, rather than having the view managers add/remove things directly to/from the view. The icon view now doesn't know anything about the view managers, and the manager is responsible for creating and packing an icon view into the desktop window.
This also tries to remove most of the unnatural coupling between things that shouldn't know about each other. The view shouldn't know it is inside an XfceDesktop, and XfceDesktop shouldn't know specific things about any of the icon styles.
I generally don't like having a commit of this size, but it was nearly impossible to do this work in smaller chunks that didn't result in things being broken across commit boundaries.