Tightened up using `def`s for read-only things in lib.scala
added back keyCode
added innerHTML
More cleaning and removal of Internet-Explorer-only functions
removed more IE-only things, and made more things imutable