Element manager spike

So, moving away from the inheritance model, I came up with an `ElementManager`. It feels pretty good, and should be easy to use from JS as well as coffee. 

@nathansobo, would love a review + ideas. It's obviously a WIP as things will need to move around. Just trying to get a handle on what feels good for the general API.
No, I think you're right about that. One solution could be to iterate them in reverse. Not sure how much it matters though.