Encapsulate the javascript layer entirely in js*.[ch]

I hope I didn't screw it up.
jsrt still passes.
This will make it easier to follow the ever changing mozilla
javascript engine, or maybe tap into another one some day.