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.
I havent worked out the best way to do the path resolution yet. Do we want to patch require though? Can we figure out which package the element came from and resolve from there?