ok did a pretty significant refactor of externs inference - https://github.com/clojure/clojurescript/pull/246
most of this work was fixing resolution for stuff like crypto.subtle which involved a bunch of cases we didn't really handle
this is kind of prep work for :refer|:require-global - I think we can make interacting w/ standard APIs relatively nice this way. validations, REPL stuff
oh yeah, but also type inference
this was kind of busted before for standard APIs, I think with these changes, all the basic stuff should always work
nor more hinting ^number or ^boolean or ^string for Web APIs