Initial implementation of View Manager.

Another PR will be created for the "axiom-shell" repo to use these changes.

Comments welcome.

One thing I don't like is that the vulcanized file are generated "in place" in the "lib" folder. I could not figure out a better way without having to copy the whole "polymer" directory to "out" before invoking vulcanize.

Another unfortunate thing is that the grunt "build" task takes much longer that it used to be because it runs a "bower install" every time.

@rginda 

Oh, so we throw an error if more than one extension opens a window?  We'll probably still need a way for extensions to know, or to just not get asked, if the openWindow was already handled, so they can avoid the error before it happens.