GPII-1051: First pass at selectionTree component

Need to write more tests. Currently the data is all held in the DOM, but this may need to change to actually being a model on the component.