LayerTree Complete structure, small bugs

LayerTree has been implemented and if you just deal with layers it is
100% functional as it was before. Functionality with SimpleHistory
objects is very close. There is currently a bug where when you delete a
SimpleHistory object it properly deletes it from the layer and from the
LayerTree but the Drawing Area doesn't update with the change, but it
does update properly when you clear the entire layer. If either of you
want to look at that more closely great, otherwise I'll check it out
when I'm less sick of the TREE.

On another note, I suspect this is an issue with the Easel: When drawing
right now everything flickers. It is possible if it wasn't doing this
before my commit that it is some interaction between the two. It also in
rare cases causes a stackoverflow bug when selecting SimpleHistory
objects. Selecting all layers causes a strange flickering when there are
SimpleHistory objects in more than one layer. Again this seems to be an
Easel problem or Easel:LayerTree interaction. Something has to change in
one or both of them since Easel was originally written for compatability
with LayerList.