Initial plugin support

This also implements a bare-bones stock sources display. Though this will change later with the data model, there should be reusable code in it, especially the drag'n'drop support.