Implementation of simulated GWT.jsni method

Some motivational examples (requiring TypeTightener bugs fixed)

Added @JsProperty(indexed=true) and examples

Added sample base Js classes.

Renamed GWT.jsni -> Js.js to allow terse writing, e.g

Document doc = js("$doc");

Added Iterable<T> adapter for JsArrayLike<T> to prepare for upcoing
magicification of JsArrayLike left indexed property implementation
for now so tests keep passing.

Implemented JsArrayLike magic.

Added @IterateAsArray

Added Js.array and Js.map magic

Change-Id: Ib037d9d90de80b314eddd76ee2b2b9a46ecdb1fb