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 

Every extension gets notified of the openWindow call?  It might be nice to have some convention for extensions to say "I don't know how to open this window" vs. "Ok, I opened this window", so we don't end up opening more than one.  We don't need to figure it out in this CL, but a comment explaining the current situation and options for the future would be good.